ceph/qa/tasks/cephfs
Leonid Usov b1cb6d9856 mds/quiesce: quiesce_inode should not hold on to remote auth pins
1. avoid taking a remote authpin for the quiesce lock
2. drop remote authpins that were taken because of other locks

We should not be forcing a mustpin when taking quiesce lock.
This creates unnecessary overhead due to the distributed nature
of the quiesce: all ranks will execute quiesce_inode, including
the auth rank, which will authpin the inode.

Auth pinning on the auth rank is important to synchronize quiesce
with operations that are managed by the auth, like fragmenting
and exporting.

If we let a remote quiesce process take a foreign authpin then
it may block freezing on the auth, which will stall quiesce locally.
This wouldn't be a problem if the quiesce that is blocked on the auth
and the quiesce that's holding a remote authpin from the replica side
were unrelated, but in our case it may be the same logical quiesce
that effectively steps on its own toes. This creates an opportunity
for a deadlock.

Fixes: https://tracker.ceph.com/issues/66152
Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
2024-05-26 11:33:52 +03:00
..
admin
__init__.py
caps_helper.py Merge pull request #55320 from rishabh-d-dave/mdscaps-update-issues 2024-04-12 18:26:21 +05:30
cephfs_test_case.py qa: move reqid_tostr helper 2024-04-29 16:59:50 -04:00
filesystem.py Merge pull request #56065 from rishabh-d-dave/mds-counters 2024-05-03 13:26:49 +05:30
fuse_mount.py qa/tasks: vstart_runner: introduce --config-mode 2024-04-25 21:15:05 +03:00
kernel_mount.py qa/tasks: vstart_runner: introduce --config-mode 2024-04-25 21:15:05 +03:00
mount.py qa: pass kwargs to mount from remount 2024-05-07 08:19:27 -04:00
test_acls.py
test_admin.py Merge pull request #57496 from rishabh-d-dave/block-test_idem_unaffected_root_squash 2024-05-17 17:56:01 +05:30
test_auto_repair.py
test_backtrace.py
test_cap_flush.py
test_cephfs_shell.py qa: correcting the output in the comments as per new structure 2024-02-28 14:38:35 +05:30
test_client_limits.py
test_client_recovery.py qa: remove unnecessary background job cleanup 2024-04-03 09:08:53 -04:00
test_damage.py qa: use kwarg for rank parameter 2024-03-20 10:56:58 -04:00
test_data_scan.py Merge pull request #56153 from kotreshhr/qa-data-scan 2024-04-04 17:02:22 +05:30
test_dump_tree.py
test_exports.py
test_failover.py qa: unmount clients before damaging the fs 2024-05-07 08:09:46 -04:00
test_flush.py
test_forward_scrub.py qa: use kwarg for rank parameter 2024-03-20 10:56:58 -04:00
test_fragment.py
test_fscrypt.py
test_fstop.py
test_full.py
test_journal_migration.py
test_journal_repair.py
test_mantle.py
test_mds_metrics.py
test_meta_injection.py
test_mirroring.py Merge PR #55837 into main 2024-03-14 16:52:09 +05:30
test_misc.py Merge pull request #52024 from lxbsz/wip-61660 2024-04-26 16:26:48 +05:30
test_multifs_auth.py qa: remove error string checks and check w/ return value 2024-01-30 10:24:59 +05:30
test_multimds_misc.py qa: use kwarg for rank parameter 2024-03-20 10:56:58 -04:00
test_newops.py
test_nfs.py qa: test cases to make sure invalid paths don't get updated 2024-01-30 19:06:22 +05:30
test_openfiletable.py qa: remove unnecessary background job cleanup 2024-04-03 09:08:53 -04:00
test_pool_perm.py
test_quiesce.py mds/quiesce: quiesce_inode should not hold on to remote auth pins 2024-05-26 11:33:52 +03:00
test_quota.py
test_readahead.py
test_recovery_fs.py
test_recovery_pool.py
test_scrub_checks.py Merge PR #53564 into main 2024-04-12 10:45:56 +05:30
test_scrub.py
test_sessionmap.py
test_snap_schedules.py mgr/snap_schedule: restore yearly spec to lowercase y 2024-04-17 16:45:44 +05:30
test_snapshots.py Merge pull request #54335 from batrick/i63432 2024-04-08 11:49:37 +05:30
test_strays.py qa: remove unnecessary background job cleanup 2024-04-03 09:08:53 -04:00
test_subvolume.py qa: test that ceph.dir.subvolume is replicated properly 2024-04-22 15:01:34 -04:00
test_volumes.py qa: disable snapshot_clone_no_wait for some tests 2024-02-20 22:21:14 +05:30
tests_from_xfstests_dev.py
xfstests_dev.py