From: Miklos S. <msz...@in...> - 2004-03-29 08:32:34
|
> I don't now the Linux VFS internals as well as you probably do. What > do you think of this hackish solution for writing an automounter based > on FUSE: > > On every system call the filesystem does something like this: > > Is the access pointed to some directory in an on-demand mount? If > yes: mount it if not yet done so and dispatch the system call to it, > much the same as your fusexmp.c does. If not: Do some magic stuff > in the virtual file system as desired. If the mount fails always > return EIO or so. Yes this can be done. It's not very nice though. For example if the first operation is 'cd automountpoint', all subsequent operations will have to be through the FUSE fs. The mounting will have no effect on the process which has it's cwd under the mount. > It would be great if FUSE would allow writing of automounters. This > would allow the SMB browsing file system to mount all file systems > with the in-kernel SMB stack. Or the implementation of a browsing > file service based on NFS+SLP which would rely on the fast in-kernel > NFS stack. What is the advantage over using current automount? I think automount can be scripted in any way you like, so it's possible to implement more complex schemes like the above. > > I looked at automount and it plays tricks. So this is not possible > > without explicit support in fuse. Again if somebody says this is > > essential I'll consider adding this feature. > > Yes, I do say it is essential! ;-) > > That way you could sell FUSE as autofs superset to the kernel > maintainers. The question is: is there something that could be done with FUSE which cannot be done with autofs, and which is actually useful. If there's such an application I'm open to extending FUSE. Otherwise it's better to have two specialized but simple filesystems, than one complex all-in-one. > It would be nice if at least EAs would be supported. As an exercise I > hacked up a DAV filesystem based on libneon with fuse today. It works > quite well. I would like to export all server supported DAV attributes > to user space using the EA subsystem. That's why I would like EA > support in FUSE: OK. Can you point me to some documentation about how EAs work? Thanks |