]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
13 months agosquid: mds: remove unnecssary quiesce finisher variable 57730/head
Patrick Donnelly [Wed, 27 Mar 2024 16:05:44 +0000 (12:05 -0400)]
squid: mds: remove unnecssary quiesce finisher variable

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit ed519f63f632e49fcb6f45bcf03e1022e17378b9)

13 months agosquid: mds: attach quiesce_path mdr to finisher at creation not dispatch
Patrick Donnelly [Wed, 27 Mar 2024 16:04:57 +0000 (12:04 -0400)]
squid: mds: attach quiesce_path mdr to finisher at creation not dispatch

No functional difference but this is cleaner.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 612b0957ee4eeda4f3b17ca5c3c2ca2346e8ec3d)

13 months agosquid: mds/quiesce: disable quiesce root debug parameters by default
Leonid Usov [Sun, 26 May 2024 11:33:55 +0000 (14:33 +0300)]
squid: mds/quiesce: disable quiesce root debug parameters by default

Fixes: https://tracker.ceph.com/issues/66225
Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit a9cb3a581a309a99b72997ae5ddb88084f5484c9)
Fixes: https://tracker.ceph.com/issues/66255
13 months agosquid: mds/quiesce-agt: never send a synchronous ack
Leonid Usov [Sun, 26 May 2024 08:16:48 +0000 (11:16 +0300)]
squid: mds/quiesce-agt: never send a synchronous ack

Defer to the agent thread to perform all acking.
This avoids race conditions between the updating thread
and the acking thread.

Fixes: https://tracker.ceph.com/issues/66219
Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 9a4c5853d1c2a353f72cd6358bbdedd93c4cc209)
Fixes: https://tracker.ceph.com/issues/66256
13 months agosquid: mds/quiesce-agt: add test for a rapid async ack
Leonid Usov [Sat, 25 May 2024 13:35:31 +0000 (16:35 +0300)]
squid: mds/quiesce-agt: add test for a rapid async ack

In this scenario, the agent thread is able to run and generate an ack
before the db_update call returns to the caller.

Fixes: https://tracker.ceph.com/issues/66219
Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 4ab40ea0d3a366e3e2cb7bd7da8da9463b27eb25)
Fixes: https://tracker.ceph.com/issues/66256
13 months agosquid: mds/quiesce: always abort fragmenting asynchronously to prevent reentrancy
Leonid Usov [Thu, 23 May 2024 13:45:13 +0000 (16:45 +0300)]
squid: mds/quiesce: always abort fragmenting asynchronously to prevent reentrancy

Fixes: https://tracker.ceph.com/issues/66208
Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit f24c0dca62590ddaf553ecae9405a52aa27ed613)
Fixes: https://tracker.ceph.com/issues/66257
13 months agosquid: mds/quiesce: overdrive an export if it hasn't frozen the tree yet
Leonid Usov [Mon, 20 May 2024 16:17:04 +0000 (19:17 +0300)]
squid: mds/quiesce: overdrive an export if it hasn't frozen the tree yet

Just like with the fragmenting, we should abort an ongoing export
if a quiesce is attempted for the directory.

To minimize the stress for the system, we only allow the abort
if the export hasn't yet managed to freeze the tree. If that is the case,
then quiesce will have to wait for the export to finish.

Fixes: https://tracker.ceph.com/issues/66123
Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit da5c263b8e7797eac6c9d13d5b6a6b292d9c5def)
Fixes: https://tracker.ceph.com/issues/66259
13 months agosquid: mds/quiesce: quiesce_inode should not hold on to remote auth pins
Leonid Usov [Mon, 20 May 2024 22:03:15 +0000 (01:03 +0300)]
squid: 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>
(cherry picked from commit b1cb6d985622c6164d99d3fd79b6eeaf6530894c)
Fixes: https://tracker.ceph.com/issues/66258
13 months agosquid: qa/cephfs: check that a completed quiesce doesn't hold remote auth pins
Leonid Usov [Wed, 22 May 2024 11:46:50 +0000 (14:46 +0300)]
squid: qa/cephfs: check that a completed quiesce doesn't hold remote auth pins

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit e32fb12b8ea105cef82cf5b9304c28bc4dc8e7a5)
Fixes: https://tracker.ceph.com/issues/66258
13 months agosquid: mds: add `--lifetime` parameter to the `lock path` asok command
Leonid Usov [Wed, 22 May 2024 08:00:13 +0000 (11:00 +0300)]
squid: mds: add `--lifetime` parameter to the `lock path` asok command

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit c395c78e09f9b41088801dcea1fab1cd10b0ba00)
Fixes: https://tracker.ceph.com/issues/66258
13 months agosquid: mds/quiesce: accept a regular file as the quiesce root
Leonid Usov [Wed, 22 May 2024 09:19:08 +0000 (12:19 +0300)]
squid: mds/quiesce: accept a regular file as the quiesce root

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit f706ae8c2d1993ba11fe32f6cfa87154c7d2b39b)
Fixes: https://tracker.ceph.com/issues/66258
13 months agosquid: mds: command_quiesce_path: rename `--wait` to `--await` for consistency
Leonid Usov [Wed, 22 May 2024 18:35:51 +0000 (21:35 +0300)]
squid: mds: command_quiesce_path: rename `--wait` to `--await` for consistency

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit c20221574e4600d22dd3c0238647cc5671c8b43c)
Fixes: https://tracker.ceph.com/issues/66258
13 months agosquid: mds: command_quiesce_path: do not block the asok thread and return an adequate rc
Leonid Usov [Wed, 22 May 2024 11:45:09 +0000 (14:45 +0300)]
squid: mds: command_quiesce_path: do not block the asok thread and return an adequate rc

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit df546a4fba0d3851644ce1607340484409a3677d)
Fixes: https://tracker.ceph.com/issues/66258
13 months agosquid: mds/quiesce: drop remote authpins before waiting for the quiesce lock
Leonid Usov [Thu, 16 May 2024 14:11:19 +0000 (17:11 +0300)]
squid: mds/quiesce: drop remote authpins before waiting for the quiesce lock

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
Fixes: https://tracker.ceph.com/issues/65802
(cherry picked from commit 5692f7f55ee44e0ab5a576909845549201d6c986)
Fixes: https://tracker.ceph.com/issues/66153
13 months agosquid: qa/cephfs/test_quiesce: test proper handling of remote authpins
Leonid Usov [Thu, 16 May 2024 13:52:14 +0000 (16:52 +0300)]
squid: qa/cephfs/test_quiesce: test proper handling of remote authpins

When a request is blocked on the quiesce lock, it should release
all remote authpins, especially those that make an inode AUTHPIN_FROZEN

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit bed8a47b802acc56d7953bb8781165cd1068ab83)
Fixes: https://tracker.ceph.com/issues/66154
13 months agosquid: mds: don't clear `AUTHPIN_FROZEN` until `FROZEN` in rename_prep
Leonid Usov [Sun, 12 May 2024 00:36:32 +0000 (03:36 +0300)]
squid: mds: don't clear `AUTHPIN_FROZEN` until `FROZEN` in rename_prep

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 86d6533351606a86978e117f127d29d63ea588ce)
Fixes: https://tracker.ceph.com/issues/66154
13 months agosquid: mds: enhance the `lock path` asok command
Leonid Usov [Sat, 11 May 2024 14:00:21 +0000 (17:00 +0300)]
squid: mds: enhance the `lock path` asok command

* when the quiesce lock is taken by this op, don't consider the inode `quiesced`
* drop all locks taken during traversal
* drop all local authpins after the locks are taken
* add --await functionality that will block the command until locks are taken or an error is encountered
* return the RC that represents the operation result. 0 if the operation was scheduled and hasn't failed so far
* add authpin control flags
** --ap-freeze - to auth_pin_freeze the target inode
** --ap-dont-block - to pass auth_pin_nonblocking when acquiring the target inode locks

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 3552fc5a9ea17c173a18be41fa15fbbae8d77edf)
Fixes: https://tracker.ceph.com/issues/66154
13 months agosquid: mds/quiesce: overdrive fragmenting that's still freezing
Leonid Usov [Thu, 9 May 2024 01:39:12 +0000 (04:39 +0300)]
squid: mds/quiesce: overdrive fragmenting that's still freezing

Quiesce requires revocation of capabilities,
which is not working for a freezing/frozen nodes.
Since it is best effort, abort an ongoing fragmenting
for the sake of a faster quiesce.

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
Fixes: https://tracker.ceph.com/issues/65716
(cherry picked from commit 8b6440652d501644d641c1c8b3255c3720738ec6)
Fixes: https://tracker.ceph.com/issues/66154
13 months agosquid: revert: mds: provide a mechanism to authpin while freezing
Leonid Usov [Sun, 12 May 2024 16:19:34 +0000 (19:19 +0300)]
squid: revert: mds: provide a mechanism to authpin while freezing

This is a functional revert of a9964a7ccc4394f923fb0f1c76eb8fa03fe8733d
git revert was giving too many conflicts, as the code has changed
too much since the original commit.

The bypass freezing mechanism lead us into several deadlocks,
and when we found out that a freezing inode defers reclaiming
client caps, we realized that we needed to try a different approach.
This commit removes the bypass freezing related changes to clear way
for a different approach to resolving the conflict between quiesce
and freezing.

Fixes: https://tracker.ceph.com/issues/65716
Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit bf760602a4f02cc07072db2da5cb987e3072afce)
Fixes: https://tracker.ceph.com/issues/66154
13 months agosquid: qa/cephfs/test_quiesce: enhance the fragmentation test
Leonid Usov [Thu, 2 May 2024 20:10:12 +0000 (23:10 +0300)]
squid: qa/cephfs/test_quiesce: enhance the fragmentation test

Repeatedly quiesce under a heavy balancer load

Fixes: https://tracker.ceph.com/issues/65716
Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 2b2af17ae45d34eeddb2d31f791ed4f0af77672a)
Fixes: https://tracker.ceph.com/issues/66154
13 months agosquid: mds/queisce-db: collect acks while bootstrapping
Leonid Usov [Sun, 19 May 2024 21:54:59 +0000 (00:54 +0300)]
squid: mds/queisce-db: collect acks while bootstrapping

Keeping the acks that come in will allow processing them
immediately after the bootstrap is over, avoiding unnecessary
set state transitions.

Fixes: https://tracker.ceph.com/issues/66119
Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit d6fb8755ca839ef5c1f94c3bc92a0e799c8f2d85)
Fixes: https://tracker.ceph.com/issues/66155
13 months agosquid: mds/quiesce-db: optimize peer updates
Leonid Usov [Mon, 13 May 2024 22:40:21 +0000 (01:40 +0300)]
squid: mds/quiesce-db: optimize peer updates

Prevent sending of the same version to the same peer more than once a second

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit eebf597b2193fd15ff80892570ebbe670acf0f53)
Fixes: https://tracker.ceph.com/issues/66070
13 months agosquid: mds/quiesce-db: track db epoch separately from the membership epoch
Leonid Usov [Mon, 13 May 2024 21:10:04 +0000 (00:10 +0300)]
squid: mds/quiesce-db: track db epoch separately from the membership epoch

Tracking the db epoch separately will make sure that replicas
only follow leader's epoch choice, even if they are already on
the new membership epoch. This eliminates races due to the
random order of mdsmap updates.

Fixes: https://tracker.ceph.com/issues/65977
Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 379ef7196b61142dc7753992f897ad91b37f048f)
Fixes: https://tracker.ceph.com/issues/66070
13 months agosquid: mds/quiesce-db: test that a peer on a newer membership epoch can ack a root
Leonid Usov [Mon, 13 May 2024 15:14:32 +0000 (18:14 +0300)]
squid: mds/quiesce-db: test that a peer on a newer membership epoch can ack a root

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit f58f63c4aecc867dfe4fd68f04629e8e45f3e864)
Fixes: https://tracker.ceph.com/issues/66070
13 months agosquid: mds: don't stall the asok thread for flush commands
Leonid Usov [Mon, 6 May 2024 16:57:53 +0000 (19:57 +0300)]
squid: mds: don't stall the asok thread for flush commands

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
Fixes: https://tracker.ceph.com/issues/65803
(cherry picked from commit a4dc88140071f9cdfe5654402067434728fee469)
Fixes: https://tracker.ceph.com/issues/66103
13 months agosquid: qa/quiescer: relax some timing requirements in the quiescer
Leonid Usov [Mon, 6 May 2024 16:57:32 +0000 (19:57 +0300)]
squid: qa/quiescer: relax some timing requirements in the quiescer

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
Fixes: https://tracker.ceph.com/issues/65803
(cherry picked from commit ae6b388dd9c2ce389563c02a7acb1e369dd82bef)
Fixes: https://tracker.ceph.com/issues/66103
13 months agosquid: qa/tasks/quiescer: dump ops in parallel
Patrick Donnelly [Mon, 6 May 2024 18:02:02 +0000 (14:02 -0400)]
squid: qa/tasks/quiescer: dump ops in parallel

Since this --flags=locks takes the mds_lock and dumps thousands of ops, this
may take a long time to complete for each individual MDS. The entire quiesce
set may timeout (and all q ops killed) before we finish dumping ops.

Fixes: https://tracker.ceph.com/issues/65823
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 15f734ec6291bf918d704d7d3e6330b5606c47e3)
Fixes: https://tracker.ceph.com/issues/66103
Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
13 months agosquid: qa/suites/fs: add quiescer to the fs suite
Leonid Usov [Sat, 23 Mar 2024 15:29:28 +0000 (08:29 -0700)]
squid: qa/suites/fs: add quiescer to the fs suite

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit d6f8d65423ff2d8167836152dddadce1a94134be)
Fixes: https://tracker.ceph.com/issues/66103
13 months agosquid: qa/tasks: the quiescer task and a waiter task to test it
Leonid Usov [Sat, 16 Mar 2024 15:42:11 +0000 (11:42 -0400)]
squid: qa/tasks: the quiescer task and a waiter task to test it

Fixes: https://tracker.ceph.com/issues/63669
Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 7773c5db6312064b4247ac0311572e7bcd752140)
Fixes: https://tracker.ceph.com/issues/66103
13 months agosquid: qa/tasks/cephfs: don't create a new CephManager if there is one in the context
Leonid Usov [Thu, 25 Apr 2024 16:41:57 +0000 (19:41 +0300)]
squid: qa/tasks/cephfs: don't create a new CephManager if there is one in the context

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 329edd3c56baff81cb76c5008ac2eaf7c110f9e1)
Fixes: https://tracker.ceph.com/issues/66103
13 months agosquid: qa/tasks: vstart_runner: introduce --config-mode
Leonid Usov [Sat, 16 Mar 2024 15:41:47 +0000 (11:41 -0400)]
squid: qa/tasks: vstart_runner: introduce --config-mode

The new mode of the vstart_runner allows for passing
paths to yaml configs that will be merged and then
run just as the teuthology would do it.
Building on the standard run method we can even
pass "-" as the config name and provide one on the stdin like

    python3 ../qa/tasks/vstart_runner.py --config-mode "-" << END
    tasks:
      - quiescer:
          quiesce_factor: 0.5
          min_quiesce: 10
          max_quiesce: 10
          initial_delay: 5
          cancelations_cap: 2
          paths:
            - a
            - b
            - c
      - waiter:
          on_exit: 100
    END

This commit does the minimum to allow testing of the quiescer,
but it also lays the groundwork for running arbitrary configs.

The cornerstone of the approach is to inject our local implementations
of the main fs suite classes. To be able to do that, some minor
refactoring was required in the corresponding modules:
the standard classes were renamed to have a *Base suffix, and the
former class name without the suffix is made a module level variable
initialized with the *Base implementation. This refactoring
is meant to be backward compatible.

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 274849e544dd1f77158a2c80a4c654cb0363f71d)
Fixes: https://tracker.ceph.com/issues/66103
13 months agosquid: qa/tasks: introduce ThrasherGreenlet
Leonid Usov [Sat, 16 Mar 2024 15:39:51 +0000 (11:39 -0400)]
squid: qa/tasks: introduce ThrasherGreenlet

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit ed6e3f8a34f3e314d87a1fe38446d0176bc55aba)
Fixes: https://tracker.ceph.com/issues/66103
13 months agosquid: qa: update quiesce tests to expect ipolicy lock
Patrick Donnelly [Fri, 19 Apr 2024 23:32:27 +0000 (19:32 -0400)]
squid: qa: update quiesce tests to expect ipolicy lock

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 579b14c8675bd0eaff498320efe1b7001141e54e)
Fixes: https://tracker.ceph.com/issues/65740
13 months agosquid: mds: add missing policylock to test F_QUIESCE_BLOCK
Patrick Donnelly [Fri, 19 Apr 2024 23:29:44 +0000 (19:29 -0400)]
squid: mds: add missing policylock to test F_QUIESCE_BLOCK

In order to check an inode's F_QUIESCE_BLOCK, the quiesce_inode op must acquire
the policylock. Furthermore, to ensure the F_QUIESCE_BLOCK is not changed
during quiesce, the lock must be held for the duration of the op's lifetime.

Fixes: https://tracker.ceph.com/issues/65595
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 50613b5562469ad24ed0fc547cafcfdeef5be604)
Fixes: https://tracker.ceph.com/issues/65740
13 months agoMerge pull request #57706 from zdover23/wip-doc-2024-05-26-backport-57393-to-squid
Zac Dover [Mon, 27 May 2024 11:00:34 +0000 (21:00 +1000)]
Merge pull request #57706 from zdover23/wip-doc-2024-05-26-backport-57393-to-squid

squid: doc/man: add missing long option switches

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
13 months agoMerge pull request #57600 from Matan-B/wip-56998-squid
Matan Breizman [Mon, 27 May 2024 10:17:19 +0000 (13:17 +0300)]
Merge pull request #57600 from Matan-B/wip-56998-squid

squid: crimson/osd/pg: only kick off snap trimming when PGs are clean

Reviewed-by: Samuel Just <sjust@redhat.com>
13 months agoMerge pull request #57596 from Matan-B/wip-56916-squid
Matan Breizman [Mon, 27 May 2024 10:15:18 +0000 (13:15 +0300)]
Merge pull request #57596 from Matan-B/wip-56916-squid

squid: crimson/osd/replicated_backend: misc fixes

Reviewed-by: Samuel Just <sjust@redhat.com>
13 months agoMerge pull request #57636 from rhcs-dashboard/wip-66174-squid
Avan [Sun, 26 May 2024 19:26:59 +0000 (00:56 +0530)]
Merge pull request #57636 from rhcs-dashboard/wip-66174-squid

squid: mgr/dashboard: add absolute path validation for pseudo path of nfs export

Reviewed-by: afreen23 <NOT@FOUND>
13 months agoMerge pull request #57703 from zdover23/wip-doc-2024-05-26-backport-57701-to-squid
Anthony D'Atri [Sun, 26 May 2024 14:37:44 +0000 (10:37 -0400)]
Merge pull request #57703 from zdover23/wip-doc-2024-05-26-backport-57701-to-squid

squid: doc/cephfs: disambiguate two sentences

13 months agodoc/man: add missing long option switches 57706/head
Patrick Donnelly [Fri, 10 May 2024 14:09:16 +0000 (10:09 -0400)]
doc/man: add missing long option switches

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit ad710c1f9395917310046a810176fca37b286fab)

13 months agodoc/cephfs: disambiguate two sentences 57703/head
Zac Dover [Sat, 25 May 2024 08:41:03 +0000 (18:41 +1000)]
doc/cephfs: disambiguate two sentences

Rewrite two sentences so that they are unambgiuously in the indicative
mood and not, as they previously seemed, in the imperative mood.

Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit 32155e236085f64f7ea289f26be1274d5d2771fa)

13 months agoMerge pull request #57668 from zdover23/wip-doc-2024-05-24-backport-57554-to-squid
Zac Dover [Sat, 25 May 2024 07:16:28 +0000 (17:16 +1000)]
Merge pull request #57668 from zdover23/wip-doc-2024-05-24-backport-57554-to-squid

squid: doc/cephfs: separate commands into sections

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
13 months agoMerge pull request #57665 from zdover23/wip-doc-2024-05-24-backport-57567-to-squid
Zac Dover [Sat, 25 May 2024 07:12:52 +0000 (17:12 +1000)]
Merge pull request #57665 from zdover23/wip-doc-2024-05-24-backport-57567-to-squid

squid: doc/cephfs: edit "Cloning Snapshots" in fs-volumes.rst

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
13 months agoMerge pull request #57662 from zdover23/wip-doc-2024-05-24-backport-57574-to-squid
Zac Dover [Sat, 25 May 2024 07:08:07 +0000 (17:08 +1000)]
Merge pull request #57662 from zdover23/wip-doc-2024-05-24-backport-57574-to-squid

squid: doc/cephfs: edit "Pinning Subvolumes..."

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
13 months agoMerge pull request #57646 from zdover23/wip-doc-2024-05-23-backport-57633-to-squid
Zac Dover [Sat, 25 May 2024 07:07:18 +0000 (17:07 +1000)]
Merge pull request #57646 from zdover23/wip-doc-2024-05-23-backport-57633-to-squid

squid: doc: clarify use of location: in host spec

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Reviewed-by: Adam King <adking@redhat.com>
13 months agoMerge pull request #57653 from petrutlucian94/wip-66204-squid
Ilya Dryomov [Thu, 23 May 2024 20:14:57 +0000 (22:14 +0200)]
Merge pull request #57653 from petrutlucian94/wip-66204-squid

squid: qa: add ceph-rbd windows service restart test

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
13 months agoMerge pull request #57643 from zdover23/wip-doc-2024-05-23-backport-57642-to-squid
Zac Dover [Thu, 23 May 2024 15:05:46 +0000 (01:05 +1000)]
Merge pull request #57643 from zdover23/wip-doc-2024-05-23-backport-57642-to-squid

squid: doc/dev/release-process.rst: note new 'project' arguments

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
13 months agodoc/cephfs: separate commands into sections 57668/head
Zac Dover [Mon, 20 May 2024 06:29:44 +0000 (16:29 +1000)]
doc/cephfs: separate commands into sections

Separate commands so that each command has its own subsection in the
section "FS Subvolumes" in the file doc/cephfs/fs-volumes.rst.
Previously, the list of commands for manipulating subvolumes was one
long, unbroken list and the beginning of one section could easily be
mistaken for the end of the previous section.

Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit a84ec3a1c0f026f54d079509b5d6cafde032154c)

13 months agodoc/cephfs: edit "Cloning Snapshots" in fs-volumes.rst 57665/head
Zac Dover [Mon, 20 May 2024 11:55:16 +0000 (21:55 +1000)]
doc/cephfs: edit "Cloning Snapshots" in fs-volumes.rst

Edit the "Cloning Snapshots" section in doc/cephfs/fs-volumes.rst. This
commit represents only a grammar pass. A future commit (and future PR)
will separate this section into subsections by command.

Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit 69941180e9b1ff5f7f0eddfba670028aae93e333)

13 months agodoc/cephfs: edit "Pinning Subvolumes..." 57662/head
Zac Dover [Mon, 20 May 2024 15:07:14 +0000 (01:07 +1000)]
doc/cephfs: edit "Pinning Subvolumes..."

Edit the section "Pinning Subvolumes and Subvolume Groups" in
doc/cephfs/fs-volumes.rst. This is merely a grammar edit.

Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit b319ead00e17a3a6d734e305454c8cfc403619ea)

13 months agoMerge pull request #57599 from Matan-B/wip-55449-squid
Matan Breizman [Thu, 23 May 2024 14:07:26 +0000 (17:07 +0300)]
Merge pull request #57599 from Matan-B/wip-55449-squid

squid: crimson/os/seastore: support extent checksum verification

Reviewed-by: Samuel Just <sjust@redhat.com>
13 months agoMerge pull request #57515 from Matan-B/wip-56806-squid
Matan Breizman [Thu, 23 May 2024 14:06:36 +0000 (17:06 +0300)]
Merge pull request #57515 from Matan-B/wip-56806-squid

squid: crimson/osd/pg_recovery: backoff if the recovery/backfill is deferred

Reviewed-by: Samuel Just <sjust@redhat.com>
14 months agoMerge pull request #57598 from Matan-B/wip-57035-squid
Matan Breizman [Thu, 23 May 2024 10:32:56 +0000 (13:32 +0300)]
Merge pull request #57598 from Matan-B/wip-57035-squid

squid: test/crimson/seastore/test_object_data_handler: remap pins through the transaction that created the pins

Reviewed-by: Samuel Just <sjust@redhat.com>
14 months agoMerge pull request #57597 from Matan-B/wip-56025-squid
Matan Breizman [Thu, 23 May 2024 10:32:40 +0000 (13:32 +0300)]
Merge pull request #57597 from Matan-B/wip-56025-squid

squid: crimson/osd/osd_operations/client_requests: we don't support rados locator keys

Reviewed-by: Samuel Just <sjust@redhat.com>
14 months agoqa: update rbd-wnbd test, using MBR instead of GPT 57653/head
Lucian Petrut [Wed, 2 Aug 2023 13:08:01 +0000 (13:08 +0000)]
qa: update rbd-wnbd test, using MBR instead of GPT

We're getting the following error while initializing 64MB disks
on WS 2019: "The disk is not large enough to support a GPT
partition style.".

For this reason, we'll use MBR instead.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
(cherry picked from commit 8d294f948a78d7f98392fe2a3bf123f583eb9757)

14 months agoqa: add ceph-rbd windows service restart test
Lucian Petrut [Thu, 12 Jan 2023 10:55:06 +0000 (12:55 +0200)]
qa: add ceph-rbd windows service restart test

We're adding a test that:

* maps a configurable number of images
* runs a specified test - we're reusing the ones from stress_test,
  making just a few minor changes to allow running the same test
  multiple times
* restarts the ceph-rbd Windows service
* waits for the images to be reconnected and refreshes the mount
  information
* reruns the test
* repeats the above workflow for a specified number of times,
  reusing the same images

This test ensures that:

* mounted images are still available after a service restart
* drive letters are retained
* the image content is retained
* there are no race conditions when connecting or disconnecting
  a large number of images in parallel
* the driver is capable of mapping a specified number of images
  simultaneously

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
(cherry picked from commit d6d36b535c86618aa754298f724854a6fde31140)

14 months agoqa: reorganize Windows python test
Lucian Petrut [Tue, 10 Jan 2023 14:50:04 +0000 (16:50 +0200)]
qa: reorganize Windows python test

We're splitting the rbd-wnbd python test into separate files so
that the common code may easily be reused by other tests. This
also makes the code easier to read and maintain.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
(cherry picked from commit 808d42d575c97b6d0db0e6c6d88ee5fda97fe1b1)

14 months agodoc: clarify use of location: in host spec 57646/head
Matthew Vernon [Wed, 22 May 2024 15:31:33 +0000 (16:31 +0100)]
doc: clarify use of location: in host spec

It wasn't clear that you can specify more than one element of the CRUSH hierarchy in a spec file, nor that it might be useful to do so (e.g. to ensure the host ends up beneath the default root).

So update the text to make it clearer, and similarly the example.

Signed-off-by: Matthew Vernon <mvernon@wikimedia.org>
(cherry picked from commit 2366391ccec0fb6d8a1c159d6e3cdf5ff4f1d603)

14 months agodoc/dev/release-process.rst: note new 'project' arguments 57643/head
Dan Mick [Wed, 22 May 2024 22:25:51 +0000 (15:25 -0700)]
doc/dev/release-process.rst: note new 'project' arguments

Support added to the release scripts (from ceph-build.git) to
work for ceph-iscsi, so 'project' must be passed to these scripts,
and will appear in the prerelease pathnames.  See also
https://github.com/ceph/ceph-build/pull/2243 and
https://github.com/ceph/ceph-container/pull/2210

Signed-off-by: Dan Mick <dan.mick@redhat.com>
(cherry picked from commit 7e64c6386e3571c657e0889ef12449e5b43f751a)

14 months agoMerge PR #57342 into squid
Patrick Donnelly [Thu, 23 May 2024 00:58:23 +0000 (20:58 -0400)]
Merge PR #57342 into squid

* refs/pull/57342/head:
PendingReleaseNotes: add note on the client incompatibility health warning and feature bit
doc/cephfs: add client_mds_auth_caps client feature bit
doc/cephfs: add missing client feature bits
doc/cephfs: document MDS_CLIENTS_BROKEN_ROOTSQUASH health error
qa: add tests for MDS_CLIENTS_BROKEN_ROOTSQUASH
mds: raise health warning if client lacks feature for root_squash
mon/MDSMonitor: add note about missing metadata inclusion
mds: check relevant caps for fs include root_squash
mds: refactor out fs_name match in MDSAuthCaps
qa: test for root_squash with multiple caps
qa: pass kwargs to mount from remount
qa: simplify update_attrs and only update relevant keys
client: allow overriding client features

Reviewed-by: Anthony D Atri <anthony.datri@gmail.com>
14 months agoMerge PR #57340 into squid
Patrick Donnelly [Wed, 22 May 2024 18:22:01 +0000 (14:22 -0400)]
Merge PR #57340 into squid

* refs/pull/57340/head:
qa: make quiesce ops dump world readable
qa: use specific ops/cache dump file names

Reviewed-by: Leonid Usov <leonid.usov@ibm.com>
14 months agoMerge PR #57179 into squid
Patrick Donnelly [Wed, 22 May 2024 18:21:18 +0000 (14:21 -0400)]
Merge PR #57179 into squid

* refs/pull/57179/head:
mds: encode flags for all inode types
qa: test file inode with F_QUIESCE_BLOCK is replicated

Reviewed-by: Leonid Usov <leonid.usov@ibm.com>
14 months agoMerge PR #57176 into squid
Patrick Donnelly [Wed, 22 May 2024 18:20:46 +0000 (14:20 -0400)]
Merge PR #57176 into squid

* refs/pull/57176/head:
mds: move drop_locks to directly after rdonly check
qa: test quiesce.block is replicated
qa: test that ceph.dir.subvolume is replicated properly
mds: add debug "lock path" command
qa: move reqid_tostr helper
qa: return run_shell process for waiters

Reviewed-by: Leonid Usov <leonid.usov@ibm.com>
14 months agoMerge PR #57175 into squid
Patrick Donnelly [Wed, 22 May 2024 18:20:19 +0000 (14:20 -0400)]
Merge PR #57175 into squid

* refs/pull/57175/head:
qa: extend rank 1 lockup for test_quiesce_authpin_wait

Reviewed-by: Leonid Usov <leonid.usov@ibm.com>
14 months agoMerge PR #57171 into squid
Patrick Donnelly [Wed, 22 May 2024 18:19:46 +0000 (14:19 -0400)]
Merge PR #57171 into squid

* refs/pull/57171/head:
qa: increase debugging for snap_schedule

Reviewed-by: Leonid Usov <leonid.usov@ibm.com>
14 months agoMerge PR #57063 into squid
Patrick Donnelly [Wed, 22 May 2024 18:19:17 +0000 (14:19 -0400)]
Merge PR #57063 into squid

* refs/pull/57063/head:
qa: do not iterate list being modified
qa: remove unnecessary background job cleanup

Reviewed-by: Leonid Usov <leonid.usov@ibm.com>
14 months agoMerge PR #57062 into squid
Patrick Donnelly [Wed, 22 May 2024 18:18:41 +0000 (14:18 -0400)]
Merge PR #57062 into squid

* refs/pull/57062/head:
mds: use mds_cache_quiesce_decay_rate to init quiesce_counter

Reviewed-by: Leonid Usov <leonid.usov@ibm.com>
14 months agoMerge PR #57061 into squid
Patrick Donnelly [Wed, 22 May 2024 18:18:07 +0000 (14:18 -0400)]
Merge PR #57061 into squid

* refs/pull/57061/head:
qa: add missing pg_health fragment links in fs suite
qa: ignore PG health warnings in CephFS QA

Reviewed-by: Leonid Usov <leonid.usov@ibm.com>
14 months agoMerge PR #57203 into squid
Patrick Donnelly [Wed, 22 May 2024 18:06:45 +0000 (14:06 -0400)]
Merge PR #57203 into squid

* refs/pull/57203/head:
mds: do not try fragmenting or exporting a quiesced directory
mds: set/test ALL_LOCKED on fragment_dir request
mds: pass bypassfreezing to parent auth pin req
qa: add quiesce tests during fragmentation
qa: translate empty output from rank_tell to empty dict
qa: move reqid_tostr helper

Reviewed-by: Leonid Usov <leonid.usov@ibm.com>
14 months agoMerge PR #57202 into squid
Patrick Donnelly [Wed, 22 May 2024 18:06:04 +0000 (14:06 -0400)]
Merge PR #57202 into squid

* refs/pull/57202/head:
squid: mds/cache: don't assume non-auth xlocks to be remote locks

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
14 months agoMerge PR #57013 into squid
Patrick Donnelly [Wed, 22 May 2024 18:04:24 +0000 (14:04 -0400)]
Merge PR #57013 into squid

* refs/pull/57013/head:
mds/quiesce: don't take mirrored cap-related locks on the replica
mds/quiesce: xlock the file to let clients keep their buffered writes

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
14 months agoMerge PR #56984 into squid
Patrick Donnelly [Wed, 22 May 2024 18:03:59 +0000 (14:03 -0400)]
Merge PR #56984 into squid

* refs/pull/56984/head:
mds/quiesce: agent: avoid a race condition with rapid db updates

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
14 months agomgr/dashboard: add path validation for pseudo path of nfs export 57636/head
avanthakkar [Fri, 6 Oct 2023 13:40:48 +0000 (19:10 +0530)]
mgr/dashboard: add path validation for pseudo path of nfs export

Fixes: https://tracker.ceph.com/issues/63124
Signed-off-by: avanthakkar <avanjohn@gmail.com>
(cherry picked from commit adeea099a57d34a63b483899a40c22b7bfb8c999)

14 months agoMerge pull request #56478 from sseshasa/wip-65150-squid
Yuri Weinstein [Wed, 22 May 2024 14:39:42 +0000 (07:39 -0700)]
Merge pull request #56478 from sseshasa/wip-65150-squid

squid: common/LogEntry: Add log level to str helper for fmt::formatter<LogEntry>

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
14 months agoMerge pull request #56477 from sseshasa/wip-65151-squid
Yuri Weinstein [Wed, 22 May 2024 14:38:55 +0000 (07:38 -0700)]
Merge pull request #56477 from sseshasa/wip-65151-squid

squid: qa: Add benign cluster warning from ec-inconsistent-hinfo test to ignorelist

Reviewed-by: Laura Flores <lflores@redhat.com>
14 months agoMerge pull request #57514 from Matan-B/wip-56610-squid
Matan Breizman [Wed, 22 May 2024 11:29:11 +0000 (14:29 +0300)]
Merge pull request #57514 from Matan-B/wip-56610-squid

squid: crimson/osd/replicated_recovery_backend: Fix recovery obc usage

Reviewed-by: Samuel Just <sjust@redhat.com>
14 months agoMerge pull request #57511 from Matan-B/wip-56844-squid
Matan Breizman [Wed, 22 May 2024 11:28:22 +0000 (14:28 +0300)]
Merge pull request #57511 from Matan-B/wip-56844-squid

squid: crimson/common/tri_mutex: make locking/promotion atomic if possible

Reviewed-by: Samuel Just <sjust@redhat.com>
14 months agoMerge pull request #57510 from Matan-B/wip-56606-squid
Matan Breizman [Wed, 22 May 2024 11:28:00 +0000 (14:28 +0300)]
Merge pull request #57510 from Matan-B/wip-56606-squid

squid: crimson/osd/ops_executer: fix snap overlap range error

Reviewed-by: Samuel Just <sjust@redhat.com>
14 months agoMerge pull request #57507 from Matan-B/wip-56848-squid
Matan Breizman [Wed, 22 May 2024 11:27:40 +0000 (14:27 +0300)]
Merge pull request #57507 from Matan-B/wip-56848-squid

squid: crimson/osd/recovery_backends: discard outdated recovery ops

Reviewed-by: Samuel Just <sjust@redhat.com>
14 months agoMerge pull request #57505 from Matan-B/wip-56277-squid
Matan Breizman [Wed, 22 May 2024 11:26:15 +0000 (14:26 +0300)]
Merge pull request #57505 from Matan-B/wip-56277-squid

squid: crimson: Add support for pool compression

Reviewed-by: Samuel Just <sjust@redhat.com>
14 months agoMerge pull request #57502 from Matan-B/wip-56511-squid
Matan Breizman [Wed, 22 May 2024 11:25:46 +0000 (14:25 +0300)]
Merge pull request #57502 from Matan-B/wip-56511-squid

squid: qa/suites/crimson-rados/thrash: enable chance_down

Reviewed-by: Samuel Just <sjust@redhat.com>
14 months agoMerge pull request #57559 from ceph/wip-lusov-await-eperm-squid
Zac Dover [Wed, 22 May 2024 06:04:53 +0000 (16:04 +1000)]
Merge pull request #57559 from ceph/wip-lusov-await-eperm-squid

squid: mds/quiesce: db: quiesce-await should EPERM if a set is past QS_QUIESCED

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
14 months agoPendingReleaseNotes: add note on the client incompatibility health warning and featur... 57342/head
Patrick Donnelly [Fri, 3 May 2024 00:45:43 +0000 (20:45 -0400)]
PendingReleaseNotes: add note on the client incompatibility health warning and feature bit

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit e70f005f1b2f4ba5466d254ec4a6432297d3fbf4)

14 months agodoc/cephfs: add client_mds_auth_caps client feature bit
Patrick Donnelly [Fri, 3 May 2024 00:46:17 +0000 (20:46 -0400)]
doc/cephfs: add client_mds_auth_caps client feature bit

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 536b47cbfc669b5a3f04d93964408a2258d05ad0)

14 months agodoc/cephfs: add missing client feature bits
Patrick Donnelly [Fri, 3 May 2024 00:38:19 +0000 (20:38 -0400)]
doc/cephfs: add missing client feature bits

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 79ba8970d7cbc714e160d5957bd849eede93e5a3)

14 months agodoc/cephfs: document MDS_CLIENTS_BROKEN_ROOTSQUASH health error
Patrick Donnelly [Thu, 2 May 2024 23:33:50 +0000 (19:33 -0400)]
doc/cephfs: document MDS_CLIENTS_BROKEN_ROOTSQUASH health error

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit b810bc9c54515b69aefffb36f1a47235b3c9125d)

14 months agoqa: add tests for MDS_CLIENTS_BROKEN_ROOTSQUASH
Patrick Donnelly [Fri, 3 May 2024 00:52:29 +0000 (20:52 -0400)]
qa: add tests for MDS_CLIENTS_BROKEN_ROOTSQUASH

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 9d0ab233d822668e88c873bc1314e984feaf1296)

14 months agomds: raise health warning if client lacks feature for root_squash
Patrick Donnelly [Fri, 3 May 2024 00:50:37 +0000 (20:50 -0400)]
mds: raise health warning if client lacks feature for root_squash

Rather than evict all clients lacking this feature bit, raise a health error
that pushes the administrator to address it. This avoids the surprise of having
all affected clients suddenly evicted in the cluster.

Fixes: https://tracker.ceph.com/issues/65733
Fixes: 954ed30
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 66ff5c9fc8d4664f18b2fa462e96e5548c35951f)

14 months agomon/MDSMonitor: add note about missing metadata inclusion
Patrick Donnelly [Fri, 3 May 2024 00:49:22 +0000 (20:49 -0400)]
mon/MDSMonitor: add note about missing metadata inclusion

There is a "client_count" metadata on the health warning that apparently was
intended to be used for aggregating warnings but never was. Add a TODO item for
that.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 6517b704e311fd24dbf5bfbdec2ddd23b17d4092)

14 months agomds: check relevant caps for fs include root_squash
Patrick Donnelly [Wed, 1 May 2024 01:41:14 +0000 (21:41 -0400)]
mds: check relevant caps for fs include root_squash

When denying client reconnects because the MDS caps include root_squash and the
client features do not include CEPHFS_FEATURE_MDS_AUTH_CAPS_CHECK, ensure those
caps are only for the file system the MDS is joined to.

Fixes: https://tracker.ceph.com/issues/65733
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit f79ae86f2c23388f6ecc3177764735e071998e09)

14 months agomds: refactor out fs_name match in MDSAuthCaps
Patrick Donnelly [Thu, 2 May 2024 12:55:36 +0000 (08:55 -0400)]
mds: refactor out fs_name match in MDSAuthCaps

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 247b4fed28617c104473d1586b66a8735bff0411)

14 months agoqa: test for root_squash with multiple caps
Patrick Donnelly [Thu, 2 May 2024 01:08:57 +0000 (21:08 -0400)]
qa: test for root_squash with multiple caps

Where the client has root_squash for one cap but not for another. The fs
without root_squash should not necessarily reject the client.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit bccc8ceb471c441ec04d7eb2c353630f8c5ce843)

Conflicts:
qa/tasks/cephfs/test_admin.py: missing test

14 months agoqa: pass kwargs to mount from remount
Patrick Donnelly [Thu, 2 May 2024 02:06:54 +0000 (22:06 -0400)]
qa: pass kwargs to mount from remount

So we can pass mntargs.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit afcbfc040b56779e58563f715f26a0fe25e9f916)

14 months agoqa: simplify update_attrs and only update relevant keys
Patrick Donnelly [Thu, 2 May 2024 02:04:57 +0000 (22:04 -0400)]
qa: simplify update_attrs and only update relevant keys

So we can just pass the caller's kwargs to update_attrs.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 597ff3cb15e7a7ce527b35eb01d9958b755bbf01)

14 months agoclient: allow overriding client features
Patrick Donnelly [Thu, 2 May 2024 00:51:59 +0000 (20:51 -0400)]
client: allow overriding client features

For testing purposes.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit d9239f9375c1ae92a4990950f40078766bd912e8)

14 months agocrimson/osd/pg: SnapTrimEvent to support interrupts 57600/head
Xuehan Xu [Thu, 25 Apr 2024 05:56:25 +0000 (13:56 +0800)]
crimson/osd/pg: SnapTrimEvent to support interrupts

SnapTrimEvent operations are scheduled from `PG::on_active_actmap()`
using a `seastar::do_until` loop. This commit replaces the loop type
into an `interruptor::repeat` and SnapTrimEvent are now scheduled by
`start_operation_may_interrupt`.

Previously, `SnapTrimEvent::start` handled interruptions by returning
a `crimson::ct_error::eagain::make();`. Now, the errorator is directly
returned via the `snap_trim_event_ret_t` and interrupts the loop
described above.

As a result, interruptions originated by interval changes are now
supported by SnapTrimEvent.

---

*** Manual conflict ***
The following PR is not included in S:
https://github.com/ceph/ceph/pull/55645/commits/6d561092faf1af5158f438af2a585197bf44683e

This backported commit had to manually revert some of the changes introduced by #55645.
Specially, crimson/osd/osd_operations/snaptrim_event.cc

Cherry-picked from: a4ddf6cfc88619f1f50f75a079af5f39f5167a46

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
14 months agocrimson/osd/pg: only kick off snap trimming when PGs are clean
Xuehan Xu [Tue, 23 Apr 2024 01:47:35 +0000 (09:47 +0800)]
crimson/osd/pg: only kick off snap trimming when PGs are clean

Fixes: https://tracker.ceph.com/issues/65568
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
14 months agotest/crimson/seastore: add test profile for full integrity check 57599/head
Xuehan Xu [Wed, 20 Mar 2024 07:12:28 +0000 (15:12 +0800)]
test/crimson/seastore: add test profile for full integrity check

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
(cherry picked from commit 898efa78e2cde90a2bdf8e6f7eda1d4def736705)

14 months agocrimson/os/seastore/transaction_manager: fully load extents when
Xuehan Xu [Wed, 21 Feb 2024 08:09:59 +0000 (16:09 +0800)]
crimson/os/seastore/transaction_manager: fully load extents when
remapping extents with full extent integrity check enabled

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
(cherry picked from commit 361ac1f6937339d8e8e177f3e15cdb07c7376be7)

14 months agotest/crimson/seastore/test_object_data_handler: disable max_extent_size
Xuehan Xu [Wed, 21 Feb 2024 06:50:47 +0000 (14:50 +0800)]
test/crimson/seastore/test_object_data_handler: disable max_extent_size
for remap related cases

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
(cherry picked from commit fd86b6976df28911a44e667d4795a25b635eaefb)