Commit f56182a
committed
Merge: gfs2: Retries missing in gfs2_{rename,exchange}
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/7689
JIRA: https://issues.redhat.com/browse/RHEL-135362
Upstream Status: https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git/ retry-rename
Fix a bug in gfs2's asynchronous glock handling for rename and exchange
operations. The original async implementation from commit ad26967
("gfs2: Use async glocks for rename") mentioned that retries were needed
but never implemented them, causing operations to fail with -ESTALE
instead of retrying on timeout.
Also makes the waiting interruptible.
In addition, the timeouts used were too high for situations in which
timing out is a rare but expected scenario. Switch to shorter timeouts
with randomization and exponentional backoff.
Fixes: ad26967 ("gfs2: Use async glocks for rename")
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
(cherry picked from commit a9f0fe18fe0b5b5b8f89b0f487e9aa045e0627bb)
Approved-by: Abhi Das <adas@redhat.com>
Approved-by: Paul Evans <pevans@redhat.com>
Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com>
Merged-by: Patrick Talbert <ptalbert@redhat.com>3 files changed
+44
-14
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1351 | 1351 | | |
1352 | 1352 | | |
1353 | 1353 | | |
| 1354 | + | |
1354 | 1355 | | |
1355 | 1356 | | |
1356 | 1357 | | |
1357 | 1358 | | |
1358 | 1359 | | |
1359 | 1360 | | |
1360 | | - | |
| 1361 | + | |
| 1362 | + | |
1361 | 1363 | | |
1362 | 1364 | | |
1363 | | - | |
1364 | 1365 | | |
| 1366 | + | |
| 1367 | + | |
1365 | 1368 | | |
1366 | 1369 | | |
1367 | | - | |
1368 | | - | |
1369 | | - | |
1370 | | - | |
1371 | | - | |
1372 | | - | |
1373 | 1370 | | |
1374 | | - | |
| 1371 | + | |
| 1372 | + | |
| 1373 | + | |
| 1374 | + | |
| 1375 | + | |
| 1376 | + | |
| 1377 | + | |
| 1378 | + | |
| 1379 | + | |
| 1380 | + | |
| 1381 | + | |
| 1382 | + | |
| 1383 | + | |
| 1384 | + | |
| 1385 | + | |
| 1386 | + | |
1375 | 1387 | | |
1376 | 1388 | | |
1377 | 1389 | | |
1378 | 1390 | | |
| 1391 | + | |
| 1392 | + | |
1379 | 1393 | | |
1380 | 1394 | | |
1381 | 1395 | | |
| |||
1399 | 1413 | | |
1400 | 1414 | | |
1401 | 1415 | | |
| 1416 | + | |
| 1417 | + | |
| 1418 | + | |
| 1419 | + | |
1402 | 1420 | | |
1403 | 1421 | | |
1404 | 1422 | | |
| |||
1611 | 1629 | | |
1612 | 1630 | | |
1613 | 1631 | | |
| 1632 | + | |
1614 | 1633 | | |
1615 | 1634 | | |
1616 | 1635 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
219 | 219 | | |
220 | 220 | | |
221 | 221 | | |
222 | | - | |
| 222 | + | |
| 223 | + | |
223 | 224 | | |
224 | 225 | | |
225 | 226 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1485 | 1485 | | |
1486 | 1486 | | |
1487 | 1487 | | |
1488 | | - | |
| 1488 | + | |
1489 | 1489 | | |
1490 | 1490 | | |
1491 | 1491 | | |
| |||
1535 | 1535 | | |
1536 | 1536 | | |
1537 | 1537 | | |
| 1538 | + | |
1538 | 1539 | | |
1539 | 1540 | | |
1540 | 1541 | | |
1541 | 1542 | | |
1542 | 1543 | | |
1543 | | - | |
| 1544 | + | |
| 1545 | + | |
| 1546 | + | |
| 1547 | + | |
| 1548 | + | |
1544 | 1549 | | |
1545 | 1550 | | |
1546 | 1551 | | |
| |||
1729 | 1734 | | |
1730 | 1735 | | |
1731 | 1736 | | |
1732 | | - | |
| 1737 | + | |
1733 | 1738 | | |
1734 | 1739 | | |
1735 | 1740 | | |
| |||
1773 | 1778 | | |
1774 | 1779 | | |
1775 | 1780 | | |
| 1781 | + | |
1776 | 1782 | | |
1777 | 1783 | | |
1778 | 1784 | | |
1779 | 1785 | | |
1780 | 1786 | | |
1781 | 1787 | | |
1782 | | - | |
| 1788 | + | |
| 1789 | + | |
| 1790 | + | |
| 1791 | + | |
| 1792 | + | |
1783 | 1793 | | |
1784 | 1794 | | |
1785 | 1795 | | |
| |||
0 commit comments