summaryrefslogtreecommitdiffstats
path: root/fs/nfs/write.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nfs/write.c')
-rw-r--r--fs/nfs/write.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/nfs/write.c b/fs/nfs/write.c
index c063a4e70354..12493846a2d3 100644
--- a/fs/nfs/write.c
+++ b/fs/nfs/write.c
@@ -1611,6 +1611,7 @@ static void nfs_commit_release_pages(struct nfs_commit_data *data)
1611 struct nfs_page *req; 1611 struct nfs_page *req;
1612 int status = data->task.tk_status; 1612 int status = data->task.tk_status;
1613 struct nfs_commit_info cinfo; 1613 struct nfs_commit_info cinfo;
1614 struct nfs_server *nfss;
1614 1615
1615 while (!list_empty(&data->pages)) { 1616 while (!list_empty(&data->pages)) {
1616 req = nfs_list_entry(data->pages.next); 1617 req = nfs_list_entry(data->pages.next);
@@ -1644,6 +1645,10 @@ static void nfs_commit_release_pages(struct nfs_commit_data *data)
1644 next: 1645 next:
1645 nfs_unlock_and_release_request(req); 1646 nfs_unlock_and_release_request(req);
1646 } 1647 }
1648 nfss = NFS_SERVER(data->inode);
1649 if (atomic_long_read(&nfss->writeback) < NFS_CONGESTION_OFF_THRESH)
1650 clear_bdi_congested(&nfss->backing_dev_info, BLK_RW_ASYNC);
1651
1647 nfs_init_cinfo(&cinfo, data->inode, data->dreq); 1652 nfs_init_cinfo(&cinfo, data->inode, data->dreq);
1648 if (atomic_dec_and_test(&cinfo.mds->rpcs_out)) 1653 if (atomic_dec_and_test(&cinfo.mds->rpcs_out))
1649 nfs_commit_clear_lock(NFS_I(data->inode)); 1654 nfs_commit_clear_lock(NFS_I(data->inode));