On Wed, 2011-07-27 at 13:20 -0700, Boaz Harrosh wrote: > On 07/27/2011 12:53 PM, Trond Myklebust wrote: > >> diff --git a/fs/nfs/pnfs.h b/fs/nfs/pnfs.h > >> index bddd8b9..f271425 100644 > >> --- a/fs/nfs/pnfs.h > >> +++ b/fs/nfs/pnfs.h > >> @@ -113,6 +113,9 @@ struct pnfs_layoutdriver_type { > >> struct xdr_stream *xdr, > >> const struct nfs4_layoutreturn_args *args); > >> > >> + void (*cleanup_layoutcommit) (struct pnfs_layout_hdr *layoutid, > >> + struct nfs4_layoutcommit_data *data); > >> + > >> void (*encode_layoutcommit) (struct pnfs_layout_hdr *layoutid, > >> struct xdr_stream *xdr, > >> const struct nfs4_layoutcommit_args *args); > > > > This really needs to go. We should have > > > > int (*layoutcommit)()... > > > > instead of 'encode' and 'cleanup' methods... > > > > Theoretically it is not possible because the blocks-layout protocol mandates > different handling depending on the "error" response from the Server which > will be received on RPC done. ???? If the blocks code is in charge of actually doing the RPC call, why would it not be able to perform its own error handling? -- Trond Myklebust Linux NFS client maintainer NetApp Trond.Myklebust@xxxxxxxxxx www.netapp.com -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html