summaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorSteve Dickson <SteveD@redhat.com>2007-11-08 04:05:04 -0500
committerTrond Myklebust <Trond.Myklebust@netapp.com>2008-01-30 02:05:24 -0500
commitef818a28fac9bd214e676986d8301db0582b92a9 (patch)
treeb1825d1ecdfa6b35951a61f6bc54363236c12cd0 /include/linux
parent2f74c0a05612b9c2014b5b67833dba9b9f523948 (diff)
downloadlinux-ef818a28fac9bd214e676986d8301db0582b92a9.tar.gz
linux-ef818a28fac9bd214e676986d8301db0582b92a9.tar.bz2
linux-ef818a28fac9bd214e676986d8301db0582b92a9.zip
NFS: Stop sillyname renames and unmounts from racing
Added an active/deactive mechanism to the nfs_server structure allowing async operations to hold off umount until the operations are done. Signed-off-by: Steve Dickson <steved@redhat.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/nfs_fs_sb.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/nfs_fs_sb.h b/include/linux/nfs_fs_sb.h
index 0cac49bc0955..9f949b587684 100644
--- a/include/linux/nfs_fs_sb.h
+++ b/include/linux/nfs_fs_sb.h
@@ -3,6 +3,9 @@
#include <linux/list.h>
#include <linux/backing-dev.h>
+#include <linux/wait.h>
+
+#include <asm/atomic.h>
struct nfs_iostats;
@@ -110,6 +113,9 @@ struct nfs_server {
filesystem */
#endif
void (*destroy)(struct nfs_server *);
+
+ atomic_t active; /* Keep trace of any activity to this server */
+ wait_queue_head_t active_wq; /* Wait for any activity to stop */
};
/* Server capabilities */