diff options
-rw-r--r-- | fs/nfs/write.c | 18 |
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 | } |
479 | EXPORT_SYMBOL_GPL(nfs_request_add_commit_list); | 483 | EXPORT_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 | } |