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. Though, Last I was diving into this code, The proper handling was missing. (It was a while back though things might have changed) Boaz -- 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