aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/write.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nfs/write.c')
-rw-r--r--fs/nfs/write.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/fs/nfs/write.c b/fs/nfs/write.c
index 44a93d8c7b52..56db9e7fa47a 100644
--- a/fs/nfs/write.c
+++ b/fs/nfs/write.c
@@ -472,9 +472,13 @@ nfs_request_add_commit_list(struct nfs_page *req, struct list_head *dst,
472 nfs_list_add_request(req, dst); 472 nfs_list_add_request(req, dst);
473 cinfo->mds->ncommit++; 473 cinfo->mds->ncommit++;
474 spin_unlock(cinfo->lock); 474 spin_unlock(cinfo->lock);
475 inc_zone_page_state(req->wb_page, NR_UNSTABLE_NFS); 475 if (!cinfo->dreq) {
476 inc_bdi_stat(req->wb_page->mapping->backing_dev_info, BDI_RECLAIMABLE); 476 inc_zone_page_state(req->wb_page, NR_UNSTABLE_NFS);
477 __mark_inode_dirty(req->wb_context->dentry->d_inode, I_DIRTY_DATASYNC); 477 inc_bdi_stat(req->wb_page->mapping->backing_dev_info,
478 BDI_RECLAIMABLE);
479 __mark_inode_dirty(req->wb_context->dentry->d_inode,
480 I_DIRTY_DATASYNC);
481 }
478} 482}
479EXPORT_SYMBOL_GPL(nfs_request_add_commit_list); 483EXPORT_SYMBOL_GPL(nfs_request_add_commit_list);
480 484
@@ -1455,9 +1459,11 @@ void nfs_retry_commit(struct list_head *page_list,
1455 req = nfs_list_entry(page_list->next); 1459 req = nfs_list_entry(page_list->next);
1456 nfs_list_remove_request(req); 1460 nfs_list_remove_request(req);
1457 nfs_mark_request_commit(req, lseg, cinfo); 1461 nfs_mark_request_commit(req, lseg, cinfo);
1458 dec_zone_page_state(req->wb_page, NR_UNSTABLE_NFS); 1462 if (!cinfo->dreq) {
1459 dec_bdi_stat(req->wb_page->mapping->backing_dev_info, 1463 dec_zone_page_state(req->wb_page, NR_UNSTABLE_NFS);
1460 BDI_RECLAIMABLE); 1464 dec_bdi_stat(req->wb_page->mapping->backing_dev_info,
1465 BDI_RECLAIMABLE);
1466 }
1461 nfs_unlock_request(req); 1467 nfs_unlock_request(req);
1462 } 1468 }
1463} 1469}