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

Aneesh Kumar K. V
2010-08-21T09:32:36Z

On Sat, 21 Aug 2010 01:13:52 -0600, Andreas Dilger <andreas.dilger@oracle.com> wrote:
> On 2010-08-20, at 18:09, Neil Brown <neilb@suse.de> 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.
> >
> > One problem is that there is no way to pass the length...
> > Options:
> > fragment is at most 64 bytes nul padded at the end
> > fragment is hex encoded and nul terminated
> > ??
> >
> > I think I prefer the hex encoding, but I'm hoping someone else has a better
> > idea.
>
> That makes it ugly for the kernel to stringify and parse the file handles.
>
> How about for AT_FILE_HANDLE THE FIRST __u32 (maybe with an extra
> __u32 for alignment) is the length and the rest of the binary file
> handle follows this? In fact, doesn't the handle itself already
> encode the length in the header?

struct file_handle already include length

-aneesh