Re: [PATCH 00/17] [RFC] AFS: Implement OpenAFS pioctls(version)s

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux