Re: [PATCH -V11 1/9] exportfs: Return the minimum required handle size

From: Aneesh Kumar K. V
Date: Sat May 22 2010 - 11:28:14 EST

On Fri, 21 May 2010 18:15:16 -0400, "J. Bruce Fields" <bfields@xxxxxxxxxxxx> wrote:
> On Thu, May 20, 2010 at 01:05:30PM +0530, Aneesh Kumar K.V wrote:
> > The exportfs encode handle function should return the minimum required
> > handle size. This helps user to find out the handle size by passing 0
> > handle size in the first step and then redoing to the call again with
> > the returned handle size value.
> The encode_fh() interface is a little confusing. (Not your fault,
> really, mainly it's the return value (and the special use of 255) that I
> always find odd.)
> But maybe it would help to have a little more documention in the
> export_encode_fh() kerneldoc comment and/or in
> Documentation/filesystems/nfs/Exporting?

Kernel documentation says

* encode_fh:
* @encode_fh should store in the file handle fragment @fh (using at most
* @max_len bytes) information that can be used by @decode_fh to recover the
* file refered to by the &struct dentry @de. If the @connectable flag is
* set, the encode_fh() should store sufficient information so that a good
* attempt can be made to find not only the file but also it's place in the
* filesystem. This typically means storing a reference to de->d_parent in
* the filehandle fragment. encode_fh() should return the number of bytes
* stored or a negative error code such as %-ENOSPC

Clearly the file system encode_fh is not returning the correct return
values. Should i fix the kernel to follow the documentation or should
the kernel documentation should be fixed. I would prefer code, because
the documentation look more easy/clear to follow that returning value 255.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at