Commit 38f080f
committed
NFSD: Move callback_wq into struct nfs4_client
Commit 8838203 ("nfsd: update workqueue creation") made the
callback_wq single-threaded, presumably to protect modifications of
cl_cb_client. See documenting comment for nfsd4_process_cb_update().
However, cl_cb_client is per-lease. There's no other reason that all
callback operations need to be dispatched via a single thread. The
single threading here means all client callbacks can be blocked by a
problem with one client.
Change the NFSv4 callback client so it serializes per-lease instead
of serializing all NFSv4 callback operations on the server.
Reported-by: Dai Ngo <dai.ngo@oracle.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>1 parent 56c35f4 commit 38f080f
3 files changed
Lines changed: 18 additions & 31 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
978 | 978 | | |
979 | 979 | | |
980 | 980 | | |
981 | | - | |
982 | | - | |
983 | 981 | | |
984 | 982 | | |
985 | | - | |
986 | | - | |
| 983 | + | |
| 984 | + | |
| 985 | + | |
| 986 | + | |
987 | 987 | | |
988 | 988 | | |
989 | 989 | | |
| |||
1153 | 1153 | | |
1154 | 1154 | | |
1155 | 1155 | | |
1156 | | - | |
| 1156 | + | |
1157 | 1157 | | |
1158 | 1158 | | |
1159 | 1159 | | |
| |||
1372 | 1372 | | |
1373 | 1373 | | |
1374 | 1374 | | |
1375 | | - | |
1376 | | - | |
1377 | | - | |
1378 | | - | |
1379 | | - | |
1380 | | - | |
1381 | | - | |
1382 | | - | |
1383 | | - | |
1384 | | - | |
1385 | | - | |
1386 | | - | |
1387 | | - | |
1388 | 1375 | | |
1389 | 1376 | | |
1390 | 1377 | | |
| |||
1398 | 1385 | | |
1399 | 1386 | | |
1400 | 1387 | | |
1401 | | - | |
| 1388 | + | |
1402 | 1389 | | |
1403 | 1390 | | |
1404 | 1391 | | |
| |||
1420 | 1407 | | |
1421 | 1408 | | |
1422 | 1409 | | |
1423 | | - | |
1424 | | - | |
1425 | | - | |
| 1410 | + | |
| 1411 | + | |
| 1412 | + | |
1426 | 1413 | | |
1427 | 1414 | | |
1428 | 1415 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2233 | 2233 | | |
2234 | 2234 | | |
2235 | 2235 | | |
| 2236 | + | |
| 2237 | + | |
| 2238 | + | |
| 2239 | + | |
2236 | 2240 | | |
2237 | 2241 | | |
2238 | 2242 | | |
| |||
2255 | 2259 | | |
2256 | 2260 | | |
2257 | 2261 | | |
| 2262 | + | |
| 2263 | + | |
2258 | 2264 | | |
2259 | 2265 | | |
2260 | 2266 | | |
| |||
2268 | 2274 | | |
2269 | 2275 | | |
2270 | 2276 | | |
| 2277 | + | |
2271 | 2278 | | |
2272 | 2279 | | |
2273 | 2280 | | |
| |||
8636 | 8643 | | |
8637 | 8644 | | |
8638 | 8645 | | |
8639 | | - | |
8640 | | - | |
8641 | | - | |
8642 | | - | |
8643 | | - | |
8644 | | - | |
8645 | 8646 | | |
8646 | 8647 | | |
8647 | 8648 | | |
| |||
8682 | 8683 | | |
8683 | 8684 | | |
8684 | 8685 | | |
8685 | | - | |
8686 | 8686 | | |
8687 | 8687 | | |
8688 | 8688 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
408 | 408 | | |
409 | 409 | | |
410 | 410 | | |
| 411 | + | |
| 412 | + | |
411 | 413 | | |
412 | 414 | | |
413 | 415 | | |
| |||
735 | 737 | | |
736 | 738 | | |
737 | 739 | | |
738 | | - | |
739 | | - | |
740 | 740 | | |
741 | 741 | | |
742 | 742 | | |
| |||
0 commit comments