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 /fs/nfs/client.c | |
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 'fs/nfs/client.c')
-rw-r--r-- | fs/nfs/client.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/nfs/client.c b/fs/nfs/client.c index a6f625497612..c3740f5ab978 100644 --- a/fs/nfs/client.c +++ b/fs/nfs/client.c | |||
@@ -729,6 +729,9 @@ static struct nfs_server *nfs_alloc_server(void) | |||
729 | INIT_LIST_HEAD(&server->client_link); | 729 | INIT_LIST_HEAD(&server->client_link); |
730 | INIT_LIST_HEAD(&server->master_link); | 730 | INIT_LIST_HEAD(&server->master_link); |
731 | 731 | ||
732 | init_waitqueue_head(&server->active_wq); | ||
733 | atomic_set(&server->active, 0); | ||
734 | |||
732 | server->io_stats = nfs_alloc_iostats(); | 735 | server->io_stats = nfs_alloc_iostats(); |
733 | if (!server->io_stats) { | 736 | if (!server->io_stats) { |
734 | kfree(server); | 737 | kfree(server); |