Re: [PATCH -V18 04/13] vfs: Allow handle based open on symlinks

From: Bastien ROUCARIES
Date: Tue Aug 24 2010 - 05:41:17 EST


On Mon, Aug 23, 2010 at 1:06 AM, Neil Brown <neilb@xxxxxxx> wrote:
> On Sat, 21 Aug 2010 01:13:52 -0600
> Andreas Dilger <andreas.dilger@xxxxxxxxxx> wrote:
>
>> On 2010-08-20, at 18:09, Neil Brown <neilb@xxxxxxx> wrote:
>> > How about a new AT flag:  AT_FILE_HANDLE
>> >
>> > Meaning is that the 'dirfd' is used only to identify a filesystem (vfsmnt) and
>> > the 'name' pointer actually points to a filehandle fragment interpreted in
>> > that filesystem.

Why ot creating a special file system for this kind of operation ?
I mean a vfsmnt filesystem, with each directory on the root is a
symlink to the root of the real vfsmnt root ?

I could be even be in proc space like /proc/self/vfsmnt

path_to_handle will return a relative path from this directory like
0x75843558/somehandle (if X is on /usr/bin/X and usr is mounted by
filesystem 0x75843558)
path_to_fshandle() will return 0x75843558

opening file handle will be just a matter to thus open
/proc/self/vfsmount/0x75843558/somehandle

Permission will be determined by vfsmount filesystem.

No need to create new syscall all te handle to filename will be handle
by the vfsmount filesystem

We could even use at existing command. The dirfd will need to be only
/proc/self/vfsmnt (and if you need to get a fd without mounting /proc
create a syscall to get this fd).

Does sound plausible ?

Bastien
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/