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 24988f430e4b..b81149eb26e5 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 | } |
