diff options
author | Trond Myklebust | 2007-04-06 19:12:46 +0200 |
---|---|---|
committer | Trond Myklebust | 2007-05-01 07:17:03 +0200 |
commit | 91e59c368c6ba5eed0369a085c42c9f270b97aa8 (patch) | |
tree | 172975fb2d21695e1d4d9b4146ac033bcfee872b /fs/nfs | |
parent | NFS: statfs error-handling fix (diff) | |
download | kernel-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.c | 30 |
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 |