[pnfs] Status meeting pNFS

Benny Halevy bhalevy at panasas.com
Tue Aug 29 11:37:48 EDT 2006


I'd like to discuss some nfsd internal API issues:
  - first parameter for layout_encode is currently unsigned int **resp, 
shouldn't it be
    struct nfsd4_compoundres *resp like for the filelayout_encode methods?

  - similarly for devaddr_encode (currently it's void *)

  - can the encode functions return int status rather than void?
    It's possible in our case to get an internal failure here.

  - layout_get and layout_return API get a void * as second parameter
    but actually a struct nfsd4_pnfs_layout{get,return} * pointer is passed
    and they need to typecast the void * internally.  Can't the API be 
formalized?

  - layout_get error handling.  since the layout_get operation can 
return several
    errors which have different semantics with respect to the client 
handling of
    the error (NFS4ERR_LAYOUTTRYLATER vs. NFS4ERR_BADLAYOUT vs.
    NFS4ERR_LAYOUTUNAVAILABLE) we need to formalize the API to
    the file system layout_get method so that the file system 
implementation can
    instruct the pnfsd what to return.  Alternatively, or in addition 
to, should we
    allow the file system layout_get implementation to return an nfs error?
    I presume this was traditionally considered as breaking the layering 
inside
    the kernel but since the pnfs methods are used solely for nfs purposes
    it might make sense...

Benny

Marc Eshel wrote:
> Status meeting on Wednesday 8/30/06 
>  
> 10am pacific time (1pm UMICH time)
>
> Toll-free dial-in:                 1-877-422-0032
> Toll dial-in:                        1-314-655-1408
> Participant passcode:        841328
>
>
> _______________________________________________
> pNFS mailing list
> pNFS at linux-nfs.org
> http://linux-nfs.org/cgi-bin/mailman/listinfo/pnfs
>   



More information about the pNFS mailing list