| From 3557c6c3be5b2ca0b11365db7f8a813253eb520b Mon Sep 17 00:00:00 2001 |
| From: Peng Tao <bergwolf@gmail.com> |
| Date: Sat, 30 Jul 2011 20:52:34 -0400 |
| Subject: pnfs: use lwb as layoutcommit length |
| |
| From: Peng Tao <bergwolf@gmail.com> |
| |
| commit 3557c6c3be5b2ca0b11365db7f8a813253eb520b upstream. |
| |
| Using NFS4_MAX_UINT64 will break current protocol. |
| |
| [Needed in v3.0] |
| Signed-off-by: Peng Tao <peng_tao@emc.com> |
| Signed-off-by: Jim Rees <rees@umich.edu> |
| Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| fs/nfs/nfs4xdr.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/fs/nfs/nfs4xdr.c |
| +++ b/fs/nfs/nfs4xdr.c |
| @@ -1888,7 +1888,7 @@ encode_layoutcommit(struct xdr_stream *x |
| *p++ = cpu_to_be32(OP_LAYOUTCOMMIT); |
| /* Only whole file layouts */ |
| p = xdr_encode_hyper(p, 0); /* offset */ |
| - p = xdr_encode_hyper(p, NFS4_MAX_UINT64); /* length */ |
| + p = xdr_encode_hyper(p, args->lastbytewritten + 1); /* length */ |
| *p++ = cpu_to_be32(0); /* reclaim */ |
| p = xdr_encode_opaque_fixed(p, args->stateid.data, NFS4_STATEID_SIZE); |
| *p++ = cpu_to_be32(1); /* newoffset = TRUE */ |