[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.01.0906170901480.16802@localhost.localdomain>
Date: Wed, 17 Jun 2009 09:09:47 -0700 (PDT)
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Andreas Dilger <adilger@....com>
cc: David Howells <dhowells@...hat.com>,
Alan Cox <alan@...rguk.ukuu.org.uk>, akpm@...ux-foundation.org,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-afs@...ts.infradead.org
Subject: Re: [PATCH 00/17] [RFC] AFS: Implement OpenAFS pioctls(version)s
On Wed, 17 Jun 2009, Andreas Dilger wrote:
>
> What about opening the mountpoint (which HAS to be available) and then
> calling an ioctl() on that?
It's very hard to "open the mountpoint" in user space. How would you even
do it? Remember: we're not living in the 1980's any more, and disco is
dead. ABBA may have made a comeback, but static mountpoints are long gone,
and won't be coming back.
These days, you can mount individual files, you can have per-process
mounts, and automounters have been a fact for a long time.
So I _agree_ that pioctl's are problematic, but please don't argue against
them using _stupid_ arguments. And "open the mountpoint" really is a
stupid argument. It not only isn't possible to do in user space, but you
may well want to do operations on a particular path, not just the mount.
So you'd need to open the file itself. Which might be a symlink or a
device node, depending on the exact semantics of pioctl.
We've traditionally had that magic "open with flag=3" to do a magic open
of device files without waiting, and we have O_NOFOLLOW to open symlinks
without following them (sadly, it just errors out, rather than opening the
symlink, but that's another detail).
So I think it should be solvable some way, but not by trying to find the
mount point.
Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists