[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