Commit 133a48a
Trond Myklebust
NFS: Fix up commit deadlocks
If O_DIRECT bumps the commit_info rpcs_out field, then that could lead
to fsync() hangs. The fix is to ensure that O_DIRECT calls
nfs_commit_end().
Fixes: 723c921 ("sched/wait, fs/nfs: Convert wait_on_atomic_t() usage to the new wait_var_event() API")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>1 parent 64a93db commit 133a48a
4 files changed
Lines changed: 8 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
620 | 620 | | |
621 | 621 | | |
622 | 622 | | |
623 | | - | |
| 623 | + | |
624 | 624 | | |
625 | 625 | | |
626 | 626 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
468 | 468 | | |
469 | 469 | | |
470 | 470 | | |
471 | | - | |
472 | 471 | | |
473 | 472 | | |
474 | 473 | | |
| |||
520 | 519 | | |
521 | 520 | | |
522 | 521 | | |
523 | | - | |
524 | 522 | | |
525 | 523 | | |
526 | 524 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1673 | 1673 | | |
1674 | 1674 | | |
1675 | 1675 | | |
1676 | | - | |
| 1676 | + | |
1677 | 1677 | | |
1678 | | - | |
| 1678 | + | |
1679 | 1679 | | |
| 1680 | + | |
| 1681 | + | |
| 1682 | + | |
1680 | 1683 | | |
1681 | 1684 | | |
1682 | 1685 | | |
| |||
1776 | 1779 | | |
1777 | 1780 | | |
1778 | 1781 | | |
| 1782 | + | |
1779 | 1783 | | |
1780 | 1784 | | |
1781 | 1785 | | |
| |||
1822 | 1826 | | |
1823 | 1827 | | |
1824 | 1828 | | |
1825 | | - | |
1826 | 1829 | | |
1827 | 1830 | | |
1828 | 1831 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
568 | 568 | | |
569 | 569 | | |
570 | 570 | | |
| 571 | + | |
571 | 572 | | |
572 | 573 | | |
573 | 574 | | |
| |||
0 commit comments