NFS: Add an iocounter wait function for async RPC tasks
authorBenjamin Coddington <bcodding@redhat.com>
Tue, 11 Apr 2017 16:50:10 +0000 (12:50 -0400)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Fri, 21 Apr 2017 14:45:01 +0000 (10:45 -0400)
commit7d6ddf88c4db372689c8aa65ea652d0514d66c06
tree8fb586be995259ff4c98a01ee9ed183b107195b5
parent50f2112cf7a3e62a8d33838eb205d5fef306457a
NFS: Add an iocounter wait function for async RPC tasks

By sleeping on a new NFS Unlock-On-Close waitqueue, rpc tasks may wait for
a lock context's iocounter to reach zero.  The rpc waitqueue is only woken
when the open_context has the NFS_CONTEXT_UNLOCK flag set in order to
mitigate spurious wake-ups for any iocounter reaching zero.

Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
fs/nfs/client.c
fs/nfs/pagelist.c
include/linux/nfs_fs.h
include/linux/nfs_fs_sb.h
include/linux/nfs_page.h