summaryrefslogtreecommitdiffstats
path: root/fs/nfs
diff options
context:
space:
mode:
authorTrond Myklebust2007-04-06 19:12:46 +0200
committerTrond Myklebust2007-05-01 07:17:03 +0200
commit91e59c368c6ba5eed0369a085c42c9f270b97aa8 (patch)
tree172975fb2d21695e1d4d9b4146ac033bcfee872b /fs/nfs
parentNFS: statfs error-handling fix (diff)
downloadkernel-qcow2-linux-91e59c368c6ba5eed0369a085c42c9f270b97aa8.tar.gz
kernel-qcow2-linux-91e59c368c6ba5eed0369a085c42c9f270b97aa8.tar.xz
kernel-qcow2-linux-91e59c368c6ba5eed0369a085c42c9f270b97aa8.zip
NFS: Don't wait for congestion in nfs_update_request()
It is redundant, and will interfere with the call to balance_dirty_pages_ratelimited_nr in generic_file_write(). Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs')
-rw-r--r--fs/nfs/write.c30
1 files changed, 0 insertions, 30 deletions
diff --git a/fs/nfs/write.c b/fs/nfs/write.c
index 8593965a35ef..dbad89c8e427 100644
--- a/fs/nfs/write.c
+++ b/fs/nfs/write.c
@@ -594,34 +594,6 @@ static inline int nfs_scan_commit(struct inode *inode, struct list_head *dst, un
}
#endif
-static int nfs_wait_on_write_congestion(struct address_space *mapping)
-{
- struct inode *inode = mapping->host;
- struct backing_dev_info *bdi = mapping->backing_dev_info;
- int ret = 0;
-
- might_sleep();
-
- if (!bdi_write_congested(bdi))
- return 0;
-
- nfs_inc_stats(inode, NFSIOS_CONGESTIONWAIT);
-
- do {
- struct rpc_clnt *clnt = NFS_CLIENT(inode);
- sigset_t oldset;
-
- rpc_clnt_sigmask(clnt, &oldset);
- ret = congestion_wait_interruptible(WRITE, HZ/10);
- rpc_clnt_sigunmask(clnt, &oldset);
- if (ret == -ERESTARTSYS)
- break;
- ret = 0;
- } while (bdi_write_congested(bdi));
-
- return ret;
-}
-
/*
* Try to update any existing write request, or create one if there is none.
* In order to match, the request's credentials must match those of
@@ -640,8 +612,6 @@ static struct nfs_page * nfs_update_request(struct nfs_open_context* ctx,
end = offset + bytes;
- if (nfs_wait_on_write_congestion(mapping))
- return ERR_PTR(-ERESTARTSYS);
for (;;) {
/* Loop over all inode entries and see if we find
* A request for the page we wish to update