Commit a431d49
Andreas Gruenbacher
gfs2: Fix request cancelation bug
In finish_xmote(), when a locking request is canceled, the corresponding
holder is moved to the tail of the holders list instead of being
dequeued immediately. When there is only a single holder, the canceled
locking request is then immediately repeated. This makes no sense; it
looks like another remnant of LM_FLAG_PRIORITY support.
Instead, dequeue canceled holders and proceed with the next holder in
finish_xmote(). We can then easily detect in gfs2_glock_dq() when a
holder has been canceled.
Signed-off-by: Andreas Gruenbacher <[email protected]>1 parent d838605 commit a431d49
1 file changed
+13
-7
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
607 | 607 | | |
608 | 608 | | |
609 | 609 | | |
610 | | - | |
611 | 610 | | |
612 | | - | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
613 | 614 | | |
614 | | - | |
615 | | - | |
616 | | - | |
617 | | - | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
618 | 623 | | |
619 | 624 | | |
620 | 625 | | |
| |||
627 | 632 | | |
628 | 633 | | |
629 | 634 | | |
630 | | - | |
631 | 635 | | |
632 | 636 | | |
633 | 637 | | |
| |||
1672 | 1676 | | |
1673 | 1677 | | |
1674 | 1678 | | |
| 1679 | + | |
| 1680 | + | |
1675 | 1681 | | |
1676 | 1682 | | |
1677 | 1683 | | |
| |||
0 commit comments