diff options
author | Steve Dickson <SteveD@redhat.com> | 2007-11-08 04:05:04 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2008-01-30 02:05:24 -0500 |
commit | ef818a28fac9bd214e676986d8301db0582b92a9 (patch) | |
tree | b1825d1ecdfa6b35951a61f6bc54363236c12cd0 /include/linux/nfs_fs_sb.h | |
parent | 2f74c0a05612b9c2014b5b67833dba9b9f523948 (diff) |
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/nfs_fs_sb.h')
-rw-r--r-- | include/linux/nfs_fs_sb.h | 6 |
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 @@ | |||
3 | 3 | ||
4 | #include <linux/list.h> | 4 | #include <linux/list.h> |
5 | #include <linux/backing-dev.h> | 5 | #include <linux/backing-dev.h> |
6 | #include <linux/wait.h> | ||
7 | |||
8 | #include <asm/atomic.h> | ||
6 | 9 | ||
7 | struct nfs_iostats; | 10 | struct nfs_iostats; |
8 | 11 | ||
@@ -110,6 +113,9 @@ struct nfs_server { | |||
110 | filesystem */ | 113 | filesystem */ |
111 | #endif | 114 | #endif |
112 | void (*destroy)(struct nfs_server *); | 115 | void (*destroy)(struct nfs_server *); |
116 | |||
117 | atomic_t active; /* Keep trace of any activity to this server */ | ||
118 | wait_queue_head_t active_wq; /* Wait for any activity to stop */ | ||
113 | }; | 119 | }; |
114 | 120 | ||
115 | /* Server capabilities */ | 121 | /* Server capabilities */ |