[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.01.0906171027470.16802@localhost.localdomain>
Date: Wed, 17 Jun 2009 10:33:22 -0700 (PDT)
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: David Howells <dhowells@...hat.com>
cc: Andreas Dilger <adilger@....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, David Howells wrote:
> Linus Torvalds <torvalds@...ux-foundation.org> 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.
>
> I think what Andreas means is open the directory at the root of the mounted
> tree, i.e. "/afs" for AFS, and then do an ioctl() on that that emulates
> pioctl().
I agree that that is what he means.
What _I_ mean is that THIS IS IMPOSSIBLE TO DO FROM USER SPACE!
Try it. Not doable. User space simply doesn't know enough, and has
fundamental races with mount/umount.
Sure, you can try to do it by trying to parse the pathname and looking in
/etc/mtab or /proc/mounts. And I guarantee that the end result will be a
buggy pile of sh*t.
End result: you do need a new system call.
I just don't think "pioctl()" is a good one. You'd be better off with some
modification of open and then use ioctl.
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