Commit 51069e4
Trond Myklebust
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: be36e18 ("NFSv4: nfs4_open_recover_helper() must set share access")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>1 parent e83458f commit 51069e4
1 file changed
Lines changed: 12 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2131 | 2131 | | |
2132 | 2132 | | |
2133 | 2133 | | |
2134 | | - | |
| 2134 | + | |
2135 | 2135 | | |
2136 | 2136 | | |
| 2137 | + | |
| 2138 | + | |
2137 | 2139 | | |
2138 | 2140 | | |
2139 | 2141 | | |
2140 | 2142 | | |
2141 | | - | |
2142 | 2143 | | |
2143 | | - | |
2144 | | - | |
2145 | | - | |
| 2144 | + | |
| 2145 | + | |
2146 | 2146 | | |
2147 | 2147 | | |
2148 | 2148 | | |
| |||
2724 | 2724 | | |
2725 | 2725 | | |
2726 | 2726 | | |
2727 | | - | |
2728 | | - | |
| 2727 | + | |
2729 | 2728 | | |
2730 | 2729 | | |
| 2730 | + | |
| 2731 | + | |
| 2732 | + | |
| 2733 | + | |
| 2734 | + | |
| 2735 | + | |
2731 | 2736 | | |
2732 | 2737 | | |
2733 | 2738 | | |
| |||
0 commit comments