summary refs log tree commit diff
path: root/fs/nfs/file.c
diff options
context:
space:
mode:
authorBenjamin Coddington <bcodding@redhat.com>2016-01-06 10:40:18 -0500
committerTrond Myklebust <trond.myklebust@primarydata.com>2016-01-07 18:42:51 -0500
commit210c7c1750fdf769647d1d526c9ea34c412c9eee (patch)
treed3e6e91f525fad7ab5fb23f38075af32184cc87c /fs/nfs/file.c
parent942e3d72a62dcfe5bf1569b179174718bbbcfbc3 (diff)
downloadlinux-210c7c1750fdf769647d1d526c9ea34c412c9eee.tar.gz
NFS: Use wait_on_atomic_t() for unlock after readahead
The use of wait_on_atomic_t() for waiting on I/O to complete before
unlocking allows us to git rid of the NFS_IO_INPROGRESS flag, and thus the
nfs_iocounter's flags member, and finally the nfs_iocounter altogether.
The count of I/O is moved to the lock context, and the counter
increment/decrement functions become simple enough to open-code.

Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
[Trond: Fix up conflict with existing function nfs_wait_atomic_killable()]
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'fs/nfs/file.c')
-rw-r--r--fs/nfs/file.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/file.c b/fs/nfs/file.c
index 178ec8da028f..4ef8f5addcad 100644
--- a/fs/nfs/file.c
+++ b/fs/nfs/file.c
@@ -756,7 +756,7 @@ do_unlk(struct file *filp, int cmd, struct file_lock *fl, int is_local)
 
 	l_ctx = nfs_get_lock_context(nfs_file_open_context(filp));
 	if (!IS_ERR(l_ctx)) {
-		status = nfs_iocounter_wait(&l_ctx->io_count);
+		status = nfs_iocounter_wait(l_ctx);
 		nfs_put_lock_context(l_ctx);
 		if (status < 0)
 			return status;