aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2012-06-05 18:32:03 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2012-06-05 18:38:47 -0400
commit9bce008bae8b57bc7b007bcc2071d1247a527120 (patch)
treea9321dc576008102345f3b7d5df7859e5155233e /include
parentcdf66442fab82916fe38f928b4f91815195a294c (diff)
NFS: Fix a commit bug
The new commit code fails to copy the verifier into the wb_verf field of _all_ the nfs_page structures; it only copies it into the first entry. The consequence is that most requests end up failing to match in nfs_commit_release. Fix is to copy the verifier into the req->wb_verf field in nfs_write_completion. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Cc: Fred Isaman <iisaman@netapp.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/nfs_xdr.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h
index 7519baef025b..8aadd90b808a 100644
--- a/include/linux/nfs_xdr.h
+++ b/include/linux/nfs_xdr.h
@@ -1237,6 +1237,7 @@ struct nfs_pgio_header {
1237 struct list_head rpc_list; 1237 struct list_head rpc_list;
1238 atomic_t refcnt; 1238 atomic_t refcnt;
1239 struct nfs_page *req; 1239 struct nfs_page *req;
1240 struct nfs_writeverf *verf;
1240 struct pnfs_layout_segment *lseg; 1241 struct pnfs_layout_segment *lseg;
1241 loff_t io_start; 1242 loff_t io_start;
1242 const struct rpc_call_ops *mds_ops; 1243 const struct rpc_call_ops *mds_ops;
@@ -1274,6 +1275,7 @@ struct nfs_write_data {
1274struct nfs_write_header { 1275struct nfs_write_header {
1275 struct nfs_pgio_header header; 1276 struct nfs_pgio_header header;
1276 struct nfs_write_data rpc_data; 1277 struct nfs_write_data rpc_data;
1278 struct nfs_writeverf verf;
1277}; 1279};
1278 1280
1279struct nfs_mds_commit_info { 1281struct nfs_mds_commit_info {