diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-03-20 13:44:09 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-03-20 13:44:09 -0500 |
commit | 967b9281361481aecf323563886ef972ee88c681 (patch) | |
tree | de7ced8972fdff5011d43a6fe24c2c7ac7cc0cb6 | |
parent | 12de3b35ea549c5819f287508d7afab0bf3ac44d (diff) |
NFSv4: Do not call rpciod_down() before call to destroy_nfsv4_state()
The reason is that the idmapper cleanup may call flush_workqueue() on
rpciod_workqueue.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-rw-r--r-- | fs/nfs/inode.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index 24988f430e4..b81149eb26e 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c | |||
@@ -2025,10 +2025,11 @@ static void nfs4_kill_super(struct super_block *sb) | |||
2025 | 2025 | ||
2026 | if (server->client != NULL && !IS_ERR(server->client)) | 2026 | if (server->client != NULL && !IS_ERR(server->client)) |
2027 | rpc_shutdown_client(server->client); | 2027 | rpc_shutdown_client(server->client); |
2028 | rpciod_down(); /* release rpciod */ | ||
2029 | 2028 | ||
2030 | destroy_nfsv4_state(server); | 2029 | destroy_nfsv4_state(server); |
2031 | 2030 | ||
2031 | rpciod_down(); | ||
2032 | |||
2032 | kfree(server->hostname); | 2033 | kfree(server->hostname); |
2033 | kfree(server); | 2034 | kfree(server); |
2034 | } | 2035 | } |