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 | |
parent | 2f74c0a05612b9c2014b5b67833dba9b9f523948 (diff) | |
download | linux-3.10-ef818a28fac9bd214e676986d8301db0582b92a9.tar.gz linux-3.10-ef818a28fac9bd214e676986d8301db0582b92a9.tar.bz2 linux-3.10-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')
-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 0cac49bc095..9f949b58768 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 */ |