summaryrefslogtreecommitdiffstats
path: root/fs/nfs/internal.h
diff options
context:
space:
mode:
authorTrond Myklebust2008-02-20 02:04:22 +0100
committerTrond Myklebust2008-02-26 06:40:36 +0100
commit5746006f1d17d9d5a3015051ea54de4341cb31f9 (patch)
treefc1d03a1e58a0a0a3cc03c46cbebdebf8cfe054e /fs/nfs/internal.h
parentSUNRPC: Allow the rpc_release() callback to be run on another workqueue (diff)
downloadkernel-qcow2-linux-5746006f1d17d9d5a3015051ea54de4341cb31f9.tar.gz
kernel-qcow2-linux-5746006f1d17d9d5a3015051ea54de4341cb31f9.tar.xz
kernel-qcow2-linux-5746006f1d17d9d5a3015051ea54de4341cb31f9.zip
NFS: Add an nfsiod workqueue
NFS post-rpciod cleanups often involve tasks that cannot be safely performed within the rpciod context (due to deadlock concerns). We therefore add a dedicated NFS workqueue that can perform tasks like cleaning up state after an interrupted NFSv4 open() call, or calling put_nfs_open_context() after an asynchronous read or write call. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/internal.h')
-rw-r--r--fs/nfs/internal.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfs/internal.h b/fs/nfs/internal.h
index 0f5619611b8d..985dc2931031 100644
--- a/fs/nfs/internal.h
+++ b/fs/nfs/internal.h
@@ -143,6 +143,7 @@ extern struct rpc_procinfo nfs4_procedures[];
extern int nfs_access_cache_shrinker(int nr_to_scan, gfp_t gfp_mask);
/* inode.c */
+extern struct workqueue_struct *nfsiod_workqueue;
extern struct inode *nfs_alloc_inode(struct super_block *sb);
extern void nfs_destroy_inode(struct inode *);
extern int nfs_write_inode(struct inode *,int);