NFSv4.1: Fix a bad reference count issue in the pNFS commit code
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Tue, 22 May 2012 20:36:27 +0000 (16:36 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Tue, 22 May 2012 20:36:27 +0000 (16:36 -0400)
filelayout_scan_commit_lists needs to bump the reference count on
the struct nfs_page just like nfs_scan_commit_list().

Reported-by: Andy Adamson <andros@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/nfs4filelayout.c

index 474c6305afd95aebadc57154d985335756f56c74..33849d3bc885976840abd484dc1e27eadbc21ca6 100644 (file)
@@ -1106,6 +1106,7 @@ transfer_commit_list(struct list_head *src, struct list_head *dst,
        list_for_each_entry_safe(req, tmp, src, wb_list) {
                if (!nfs_lock_request(req))
                        continue;
+               kref_get(&req->wb_kref);
                if (cond_resched_lock(cinfo->lock))
                        list_safe_reset_next(req, tmp, wb_list);
                nfs_request_remove_commit_list(req, cinfo);