diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-10-11 18:26:04 +0200 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-10-15 16:49:42 +0200 |
commit | 8fcdc31b3d09bc348ff9bf752ae1291828756cfa (patch) | |
tree | d56ebacf4dd7290a60555756882178f8541603d0 /fs/nfs/nfs4filelayout.c | |
parent | Linux 3.7-rc1 (diff) | |
download | linux-8fcdc31b3d09bc348ff9bf752ae1291828756cfa.tar.xz linux-8fcdc31b3d09bc348ff9bf752ae1291828756cfa.zip |
NFSv4.1: Kill nfs4_ds_disconnect()
There is nothing to prevent another thread from dereferencing ds->ds_clp
during or after the call to nfs4_ds_disconnect(), and Oopsing due to the
resulting NULL pointer.
Instead, we should just rely on filelayout_mark_devid_invalid() to keep
us out of trouble by avoiding that deviceid.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs4filelayout.c')
-rw-r--r-- | fs/nfs/nfs4filelayout.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/fs/nfs/nfs4filelayout.c b/fs/nfs/nfs4filelayout.c index 52d847212066..816c2d0d133a 100644 --- a/fs/nfs/nfs4filelayout.c +++ b/fs/nfs/nfs4filelayout.c @@ -207,7 +207,6 @@ static int filelayout_async_handle_error(struct rpc_task *task, clear_bit(NFS_INO_LAYOUTCOMMIT, &NFS_I(inode)->flags); _pnfs_return_layout(inode); rpc_wake_up(&tbl->slot_tbl_waitq); - nfs4_ds_disconnect(clp); /* fall through */ default: reset: |