diff options
author | Trond Myklebust <trond.myklebust@hammerspace.com> | 2022-11-04 13:20:01 -0400 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@hammerspace.com> | 2022-11-27 22:09:59 -0500 |
commit | 51069e4aef6257b0454057359faed0ab0c9af083 (patch) | |
tree | 46449a53c31fb2f67cc5b3cf9cc7013af62c3223 /fs/nfs/namespace.c | |
parent | e83458fce080dc23c25353a1af90bfecf79c7369 (diff) | |
download | linux-51069e4aef6257b0454057359faed0ab0c9af083.tar.gz linux-51069e4aef6257b0454057359faed0ab0c9af083.tar.bz2 linux-51069e4aef6257b0454057359faed0ab0c9af083.zip |
NFSv4: Fix a deadlock between nfs4_open_recover_helper() and delegreturn
If we're asked to recover open state while a delegation return is
outstanding, then the state manager thread cannot use a cached open, so
if the server returns a delegation, we can end up deadlocked behind the
pending delegreturn.
To avoid this problem, let's just ask the server not to give us a
delegation unless we're explicitly reclaiming one.
Fixes: be36e185bd26 ("NFSv4: nfs4_open_recover_helper() must set share access")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Diffstat (limited to 'fs/nfs/namespace.c')
0 files changed, 0 insertions, 0 deletions