]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Patrick Donnelly [Sat, 2 Mar 2024 02:49:53 +0000 (21:49 -0500)]
qa: simplify calls to (rank|mds)_(tell|asok)
Instead of requiring the caller to put the arguments in a list, allow passing
as regular arguments.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
464ef51525d673d38187bb9a841c4802c0681e0f )
Patrick Donnelly [Tue, 5 Mar 2024 19:22:53 +0000 (14:22 -0500)]
Revert "pybind/mgr/volumes: block quiesce for critical .meta file"
This reverts commit
16e50abbd42a4b4f740816ba5f60bc259a6a96bf .
This flag is no longer necessary as the volumes plugin issues quiesce calls
against the data (i.e. root) directory of the subvolume rather than the
subvolume directory (with its associated .meta file).
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
92f1ed3ed1fdba8a292dd4f625acd2b23bd6fdec )
Patrick Donnelly [Tue, 19 Mar 2024 21:08:54 +0000 (17:08 -0400)]
mds: remove is_root indication on quiesce_inode op
This is no longer necessary with the change to a LocalLock quiescelock.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
667c9a9c5af8d342ce6da5e942efb219b67d980b )
Patrick Donnelly [Tue, 5 Mar 2024 17:27:00 +0000 (12:27 -0500)]
mds: prevent new lock cache cons when invalidating an existing one
The previous scheme invalidated a lock cache and then immediately removed it
from its Capability list. The lock cache would eventually be deleted but a new
one could be constructed shortly after. The main reason for this is that simply
invalidating the lock cache does not drive a state change in the local locks
preventing new writers. This is mostly important for acquiring the quiescelock.
This commit also corrects a bug where a MDLockCache would be created for a
given opcode type (like create) when the capability does not have the issued
cap (CEPH_CAP_DIR_CREATE). The bug would not cause any negative side-effects
but would hold locks unnecessarily when only MDS ops (and not the client
executing ops asynchronously) are acquiring the locks.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
9b4a93f2b7b902e56a41f7e50fd21b8046134ef6 )
Patrick Donnelly [Mon, 4 Mar 2024 20:44:45 +0000 (15:44 -0500)]
mds: use XLOCK_WAIT For local lock xlockers
This avoids waking up all waiters when only WAIT_XLOCK waiters should wake.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
f813b8c511a50a7fab673c2b99587f00fb506323 )
Patrick Donnelly [Tue, 5 Mar 2024 17:19:42 +0000 (12:19 -0500)]
mds: prevent new wrlocks on LocalLock if there exists any xlock waiter
Otherwise, an xlock waiter can become starved as a LocalLock supports multiple
writers.
Strictly speaking, a new lock state would be appropriate for this but we cheat
frequently with the LocalLock -- there is only one state. All transition checks
are already manually performed by the Locker.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
bddd3c72014dc7aa4bb4f16e4633111a0f2e0bb0 )
Patrick Donnelly [Sat, 2 Mar 2024 03:01:48 +0000 (22:01 -0500)]
mds: block import discover when parent directory inode is quiesced
This is to prevent two racing ranks quiescing some root from exporting a tree
under a completely quiesced directory (inode). The state of that imported tree
may take time to quiesce and cause the root to be QUIESCED before all inodes
under it are actually quiesced.
If a dirfrag to be imported is discovered before the parent is quiesced, then
the quiesce traversal will issue a quiesce_inode op normally for parent which
will attempt to authpin the parent. That will block if the export is still
in-progress (causing quiesce to wait for the export to finish or abort).
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
1ec6817cc082b379fba86bcd0a73ff950d7d1152 )
Patrick Donnelly [Tue, 27 Feb 2024 20:24:26 +0000 (15:24 -0500)]
mds: avoid issuing exclusive caps to clients lacking w caps
Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit
772f04afdf87d25de8102b7f6aa7e0a242cd566e )
Patrick Donnelly [Sun, 3 Mar 2024 03:22:19 +0000 (22:22 -0500)]
mds: print lock cache during invalidation
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
d86a5c2ab76b740da235aeb1f5a994a84bb3515f )
Patrick Donnelly [Thu, 7 Mar 2024 19:40:58 +0000 (14:40 -0500)]
mds: use inodeno_t to track quiesce requests
If a CInode is removed from cache before the quiesce_inode request can process
it (and pin it in cache), a new CInode may be created with the same address.
That pointer still exists in MutationImpl::quiesce_ops and would prevent
issuing a quiesce_inode op for the new inode.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
1fa9c25d70c666259c300fc95e54ec70e8fd35a5 )
Patrick Donnelly [Thu, 7 Mar 2024 19:30:35 +0000 (14:30 -0500)]
mds: dispatch quiesce_inode ops after dir traversal
Mostly to avoid the possibility of the CDir::items changing during iteration
when calling sub-ops.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
c90cc2d04bb2d6d4e558fe268bcd241ea7723880 )
Patrick Donnelly [Tue, 5 Mar 2024 19:13:42 +0000 (14:13 -0500)]
mds: remove quiescelock handling for SimpleLock type
This is no longer necessary with the conversion to LocalLock.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
7e75a9e96343b2acf8a2c77b71563dadbdefd37b )
Patrick Donnelly [Tue, 27 Feb 2024 20:17:28 +0000 (15:17 -0500)]
mds: quiescelock as local lock + cap masking
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit
7fa8bc8b29f22f3cbe3a15c34f86003ed7c73088 )
Patrick Donnelly [Tue, 13 Feb 2024 17:37:07 +0000 (12:37 -0500)]
qa: run quiesce unit tests in fs:functional
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Fixes: https://tracker.ceph.com/issues/63664
(cherry picked from commit
51a04479726776c2852159fb9cfe28e60fe74d54 )
Patrick Donnelly [Wed, 24 Jan 2024 02:26:46 +0000 (21:26 -0500)]
qa: add quiesce protocol unit tests
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Fixes: https://tracker.ceph.com/issues/63664
(cherry picked from commit
7cf14fb10a528761dd3139d813834207c8233145 )
Patrick Donnelly [Sat, 17 Feb 2024 15:26:14 +0000 (10:26 -0500)]
qa: detect partial migrations during large config of dist epin
This method would wrongly "succeed" when looking for setup of distributed
ephemerally pinned directory fragments. If the migrator splits a subtree during
the course of migration (to reduce the migration size) then the operation may
not actually be complete.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
a1ac3e03a0227fc386f4341fc55b9a2c2a58d0bc )
Patrick Donnelly [Wed, 24 Jan 2024 02:25:35 +0000 (21:25 -0500)]
qa: use stdin-killer to timeout run_shell_payload
- simplify argument processing / forwarding
- use stdin-killer to kill all sub-processes of the shell
- do not needlessly use run_shell to execute the command as it adds a timeout
to the stdout/stderr processing
- provide a stdin (PIPE) by default otherwise teuthology's code closes stdin
and triggers stdin-killer to timeout the shell.
- use a 15 minute timeout by default
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
4cfc5b802f4dcc4dec563b6dbc662feefb8ae951 )
Patrick Donnelly [Thu, 7 Mar 2024 03:21:24 +0000 (22:21 -0500)]
qa: simplify run_shell argument processing
No functional changes.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
c3707b99c38ab153149684488276c76be6186d8f )
Patrick Donnelly [Thu, 11 Jan 2024 03:08:13 +0000 (22:08 -0500)]
doc: add dev docs for quiesce protocol
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
51c9b86bf1f7be41f568ef1594b305133cd8b118 )
Patrick Donnelly [Fri, 26 Jan 2024 21:37:15 +0000 (16:37 -0500)]
pybind/mgr/volumes: block quiesce for critical .meta file
This file must remain accessible during quiesce to allow snapshots to be taken
on a subvolume.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
0308f215ae7a6392de4dbd658c6d4334c1c98e9d )
Patrick Donnelly [Fri, 26 Jan 2024 21:36:53 +0000 (16:36 -0500)]
mds: add vxattr to block quiesce on an inode
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
e2529fc74808b102b1ca85a3ee6644160da32e60 )
Patrick Donnelly [Fri, 26 Jan 2024 21:34:41 +0000 (16:34 -0500)]
mds: convert encoded ephemeral dist pin to flags
To use space efficiently, convert this field to a 8 bit flags field that is
backward compatible.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
fb05dd1806fc0edf2e4c0908aae114d57099a6d6 )
Patrick Donnelly [Wed, 21 Feb 2024 15:03:14 +0000 (10:03 -0500)]
mds: add counter to throttle quiesce
So a storm of quiesce operations do not affect normal MDS operations.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
f4eec857fc8bda4980b9046cde6314fa005122c2 )
Patrick Donnelly [Tue, 31 Oct 2023 17:27:16 +0000 (13:27 -0400)]
mds: add quiesce set feature flag
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Fixes: https://tracker.ceph.com/issues/63664
(cherry picked from commit
af073d2fba48a80a533e2a1be2f21716d56aa26c )
Patrick Donnelly [Wed, 21 Feb 2024 19:08:13 +0000 (14:08 -0500)]
mds: skip non-head inodes for quiesce
These are accessible only via snapshots.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
92b5bcb44c0eacbc4c449a418350c0ff0506b7b5 )
Patrick Donnelly [Tue, 14 Nov 2023 18:17:57 +0000 (13:17 -0500)]
mds: add quiesce op
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Fixes: https://tracker.ceph.com/issues/63664
(cherry picked from commit
06916dd2a7f30874d29b03e0cd998370cf595f58 )
Patrick Donnelly [Tue, 27 Feb 2024 20:18:21 +0000 (15:18 -0500)]
mds: print all SimpleLock flags in debug output
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
3980454db49cbd70c42a502b832262552d9c9c74 )
Patrick Donnelly [Wed, 10 Jan 2024 19:08:11 +0000 (14:08 -0500)]
mds: pretty print mutation when dumping lock
Now looks like:
... (iquiesce xlock x=1 by request(mds.0:2785 nref=6)) ...
instead of:
... (iquiesce xlock x=1 by 0xdeadbeef)) ...
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
7c59c3749021e9113dfb777c197f70709f416ce6 )
Patrick Donnelly [Tue, 9 Jan 2024 19:04:45 +0000 (14:04 -0500)]
mds: add new inode quiescelock
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
a3e541f9992e5e264a8d9ecffd69787d722f88a0 )
Patrick Donnelly [Tue, 20 Feb 2024 22:08:32 +0000 (17:08 -0500)]
mds: use 128 bits for waiters on MDSCacheObject
Adding a new inode lock will overflow inode wait bits into the MDSCacheObject
wait bits. Make space for the quiescelock.
This includes a minor refactor to no longer attempt scoping the set of masks we
test in MDSCacheObject::waiting when calling MDSCacheObject::is_waiter_for.
This optimization wasn't worth the overhead and would be awkard to keep as
std::bitset cannot be used as a key for a std::multimap (easily). Instead, we
use the sequence number as a key which helps us to avoid allocating another map
whenever we call MDSCacheObject::take_waiting.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
84b33ea9fe6268adfaca1e17b282e68788e38bf4 )
Patrick Donnelly [Tue, 13 Feb 2024 16:07:26 +0000 (11:07 -0500)]
mds: provide mechanism to authpin while freezing
When a subtree is freezing, it's no longer possible to acquire new authpins.
This is a problem when a compound request like quiescing a subtree is trying to
acquire authpins for each sub-op. This creates a situation where some quiesce
sub-ops complete with authpins (thereby preventing the tree from becoming
"frozen") and new sub-ops cannot acquire authpins (because the tree is
"freezing"). To circumvent this, allow some authpin requests to proceed if
FLAG_BYPASSFREEZING is set.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
a9964a7ccc4394f923fb0f1c76eb8fa03fe8733d )
Patrick Donnelly [Tue, 9 Jan 2024 18:55:48 +0000 (13:55 -0500)]
mds: add command to get specific op
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
3197a975a521654500173175c6e856c54df497ef )
Patrick Donnelly [Tue, 13 Feb 2024 21:07:37 +0000 (16:07 -0500)]
mds: finish request before completing internal req
Importantly, this marks the request dead so it cannot be killed.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
c944eadaf6987a812e738459214872af1ff7678a )
Patrick Donnelly [Tue, 14 Nov 2023 18:50:53 +0000 (13:50 -0500)]
mds: complete internal op if killed
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
ba3dac94e6a90ed76970fef89b1a82dcedb4ec2b )
Patrick Donnelly [Tue, 13 Feb 2024 20:58:19 +0000 (15:58 -0500)]
mds: avoid killing dead requests
This is important when you have:
* sub-op A finishes and resumes parent
* parent kills all sub-ops (including sub-op A)
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
b72e153d2b36956e97b8686aeb6aaacffe928750 )
Patrick Donnelly [Mon, 13 Nov 2023 19:23:54 +0000 (14:23 -0500)]
mds: add command to kill request
Fixes: https://tracker.ceph.com/issues/63374
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
9956f9ad78a3b6ebe520dcd10e33a59c361c4d91 )
Patrick Donnelly [Sat, 17 Feb 2024 15:23:43 +0000 (10:23 -0500)]
mds: add path argument to `ops` and `dump tree` to stream result to local file
This file can be collected during testing to avoid sending a large JSON result
over the `ceph tell`/asok interface.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
a1303a52af7504c3748a75ade9619c7a6c454831 )
Patrick Donnelly [Wed, 31 Jan 2024 19:28:14 +0000 (14:28 -0500)]
mds: print internal_request filepaths if present
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
eaea93e05018294e893e0e5241b3293e10971f5e )
Patrick Donnelly [Tue, 14 Nov 2023 18:19:47 +0000 (13:19 -0500)]
mds: add more information to debug message
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
f8a26a61305ba8b9fbb9ce47b5221e3adb754c9b )
Patrick Donnelly [Sat, 14 Oct 2023 00:27:02 +0000 (20:27 -0400)]
mds: remove redundant parenthesis
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
1513327c1a55614ac7e2f1a6da0de06e5fd2214d )
Patrick Donnelly [Tue, 14 Nov 2023 14:38:03 +0000 (09:38 -0500)]
mds: implement Mutation::dump method
So we can dump it from asok commands.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
ba7d1f5f2a2e4355155e00173b0d2ade562a8945 )
Patrick Donnelly [Tue, 9 Jan 2024 04:53:24 +0000 (23:53 -0500)]
mds: make LockType fields const
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
9858e01abd57458b04f87fcaeb432ab7edb6ac07 )
Patrick Donnelly [Tue, 9 Jan 2024 19:06:39 +0000 (14:06 -0500)]
mds: annotate mdr with try_rdlock_snap_layout failure
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
6fa38e4e4ff230ca2a1c6d2de63d561d7cfee826 )
Patrick Donnelly [Tue, 9 Jan 2024 19:01:17 +0000 (14:01 -0500)]
mds: refactor if into switch
To make it easier to read and match other constructs in this code.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
d74d3aadd08ad37a74bf3a9ade18d0b6670c92a0 )
Patrick Donnelly [Wed, 10 Jan 2024 02:56:20 +0000 (21:56 -0500)]
mds: call Locker method using this
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
401e6f49fc2e1c725c8e89e23cdc8afcf5f92876 )
Patrick Donnelly [Thu, 4 Jan 2024 17:24:29 +0000 (12:24 -0500)]
mds: simplify assert
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
180979d7014a6c3799bb7282d90d6e6af860978a )
Patrick Donnelly [Tue, 16 Jan 2024 19:03:29 +0000 (14:03 -0500)]
mds: dump locks passed to Locker::acquire_locks
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
3057ec9572dd2c1805db09ffd5eaac8ab40a45b2 )
Patrick Donnelly [Tue, 16 Jan 2024 19:02:41 +0000 (14:02 -0500)]
mds: add LockOp::print method for debugging
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
8ddf631886ce4ac34f74e9e62eacc2c33c6e445f )
Patrick Donnelly [Tue, 16 Jan 2024 19:01:54 +0000 (14:01 -0500)]
mds: use new insert template via print
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
d1b066cdbd1ec65b620996cb7f4da7006dfcb7d0 )
Patrick Donnelly [Wed, 24 Jan 2024 02:27:18 +0000 (21:27 -0500)]
mds: add request result to mutation for analysis by tests
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
d1765e621611fef5517c2f2227d7786ae41e2001 )
Patrick Donnelly [Fri, 5 Jan 2024 20:06:20 +0000 (15:06 -0500)]
mds: add comment on locking order rules
From a past commit.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
32a544f9a71aa68547db5bb0fdd517cafbf7d928 )
Patrick Donnelly [Thu, 8 Feb 2024 17:30:38 +0000 (12:30 -0500)]
mds: allow specifying rdlock position
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
944d00ca1fcafb39e45cb431c63f00e71a7976df )
Patrick Donnelly [Wed, 7 Feb 2024 19:59:06 +0000 (14:59 -0500)]
mds: remove dead method
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
ed5987883a411d090d1820ef00453e8147bc1753 )
Patrick Donnelly [Tue, 16 Jan 2024 18:59:47 +0000 (13:59 -0500)]
common: provide a template for object dumps
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
92df0fcc649345f438d0d7cc6fab658c02060f07 )
Patrick Donnelly [Thu, 16 Nov 2023 17:36:25 +0000 (12:36 -0500)]
common: support long running ops without slow warnings
A quiesce op in the MDS may run for an indeterminate amount of time. Warnings
should not be generated.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
c036b151465a2ecb8bf24943e1030988f7e6c6ce )
Patrick Donnelly [Thu, 16 Nov 2023 17:07:32 +0000 (12:07 -0500)]
common: simplify loop
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
cdef9b6dd0a4d0fe39843c5a8198295d14b1c2e7 )
Patrick Donnelly [Sat, 17 Feb 2024 15:22:29 +0000 (10:22 -0500)]
common: add JSONFormatterFile class
To stream JSON to a file for collection (for testing). The idea here that
trying to send a very large JSON result over `ceph tell` is best to be avoided.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
8928a1266fc6bc492dac34253edb36c045e491e5 )
Patrick Donnelly [Sat, 17 Feb 2024 01:43:06 +0000 (20:43 -0500)]
common: use more efficient vector for stack
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
770ab517c2b05045c09af3d0a56b6446bd20bb58 )
Patrick Donnelly [Tue, 14 Nov 2023 19:15:14 +0000 (14:15 -0500)]
include: use larger int for large gathers
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
58923668320ba373312c68a8869a1089da41d804 )
Patrick Donnelly [Fri, 22 Mar 2024 15:36:40 +0000 (11:36 -0400)]
Merge PR #56202 into squid
* refs/pull/56202/head:
mds/quiesce-db: keep the db thread alive until shutdown
mds/quiesce-db: incorporate review comments
mds/quiesce: declare QuiesceDbPeerListing and QuiesceDbPeerAck
mds/quiesce: resolve the quiesce cluster at the mds monitor
include/types: add an I/O helper for std::unordered_map
messages: avoid using mutable members in MMDSQuiesce*
mds/quiesce-db: incorporate review comments
doc/cephfs/fs-volumes: doc fixes and updates
pybind/mgr: correct type hints for `get_quiesce_leader_info`
mds/quiesce: only use ACTIVE daemons for the quiesce cluster
mds,messages: quiesce db inter-rank messaging
mds/quiesce: MDSRankQuiesce - integration of the quiesce db manager
doc/cephfs/fs-volumes: Add info about the quiesce command
doc: fixes for local dev builds
mgr/volumes: support for `fs subvolume quiesce`
mgr/volumes: use `volume_exception_to_retval` as a decorator
pybind/mgr: add a `one-shot` parameter to send_command
mds/quiesce: QuiesceAgent implementation and unit tests
mds/quiesce: QuiesceDb.h and QuiesceDbManager with tests
common/Timer.cc: improve debug messages from the timer_thread
mds: MDSRank.cc: return status from `send_message_mds`
encoding: add emplace variants for map dencoders
common/Cond: make C_SaferCond private members protected to facilitate inheritance
qa/tasks/cephfs: give the tests more time to run heavy fs workloads
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Nizamudeen A [Fri, 22 Mar 2024 10:14:11 +0000 (15:44 +0530)]
Merge pull request #56365 from rhcs-dashboard/wip-65037-squid
squid: mgr/dashboard: fix M retention frequency display
Reviewed-by: Nizamudeen A <nia@redhat.com>
Ivo Almeida [Fri, 22 Mar 2024 09:41:11 +0000 (09:41 +0000)]
Merge pull request #56371 from rhcs-dashboard/wip-65047-squid
squid: mgr/dashboard: fix retention add for subvolume
Reviewed-by: afreen23 <NOT@FOUND>
Ivo Almeida [Wed, 21 Feb 2024 13:02:19 +0000 (13:02 +0000)]
mgr/dashboard: fix retention add for subvolume
- Added parameters for subvolume and subvolume group when adding a new
snap schedule.
- Added call to remove retention policies when removing a snap schedule
in case it is the last one with same path
Fixes: https://tracker.ceph.com/issues/64524
Signed-off-by: Ivo Almeida <ialmeida@redhat.com>
(cherry picked from commit
80e1207f4b536fe6edbc81e61cbf951e135eba54 )
Ivo Almeida [Tue, 19 Mar 2024 13:13:17 +0000 (13:13 +0000)]
mgr/dashboard: fix M retention frequency display
Fix snap schedule list monthly retention frequency display
Fixes: https://tracker.ceph.com/issues/64982
Signed-off-by: Ivo Almeida <ialmeida@redhat.com>
(cherry picked from commit
0bd8d3b6bc8ecbe99e22545549a63de3444e5f75 )
Zac Dover [Thu, 21 Mar 2024 02:03:17 +0000 (12:03 +1000)]
Merge pull request #56339 from zdover23/wip-doc-2024-03-20-backport-56333-to-squid
squid: doc/cephfs: fix architecture link to correct relative path
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Zac Dover [Thu, 21 Mar 2024 02:02:53 +0000 (12:02 +1000)]
Merge pull request #56267 from zdover23/wip-doc-2024-08-19-backport-56240-to-squid
squid: doc/rados: update common.rst
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Yuri Weinstein [Wed, 20 Mar 2024 15:55:46 +0000 (08:55 -0700)]
Merge pull request #56210 from joscollin/wip-64918-squid
squid: qa: enhance labeled perf counters test for cephfs-mirror
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Yuri Weinstein [Wed, 20 Mar 2024 15:54:03 +0000 (08:54 -0700)]
Merge pull request #56051 from lxbsz/wip-64585
squid: mds: allow lock state to be LOCK_MIX_SYNC in replica for filelock
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Yuri Weinstein [Wed, 20 Mar 2024 15:51:18 +0000 (08:51 -0700)]
Merge pull request #56030 from vshankar/wip-64617-squid
squid: mds: check file layout in mknod
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Yuri Weinstein [Wed, 20 Mar 2024 15:46:49 +0000 (08:46 -0700)]
Merge pull request #56017 from vshankar/wip-64758-squid
squid: mds: relax certain asserts in mdlog replay thread
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Yuri Weinstein [Wed, 20 Mar 2024 15:46:08 +0000 (08:46 -0700)]
Merge pull request #55997 from dparmar18/wip-64741-squid
squid: client: do not proceed with I/O if filehandle is invalid
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Yuri Weinstein [Wed, 20 Mar 2024 15:45:32 +0000 (08:45 -0700)]
Merge pull request #55989 from joscollin/wip-64744-squid
squid: mds: fix `dump dir` indicate dir is not cached
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Yuri Weinstein [Wed, 20 Mar 2024 15:44:50 +0000 (08:44 -0700)]
Merge pull request #55940 from neesingh-rh/wip-64701-squid
squid: mgr/volumes: support to reject CephFS clones if cloner threads are not available
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Yuri Weinstein [Wed, 20 Mar 2024 15:24:13 +0000 (08:24 -0700)]
Merge pull request #55830 from kotreshhr/wip-64583-squid
squid: qa: Fix fs/full suite
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Yuri Weinstein [Wed, 20 Mar 2024 15:23:28 +0000 (08:23 -0700)]
Merge pull request #55805 from anoopcs9/wip-64566-squid
squid: client: Fix return in removexattr for xattrs from `system.` namespace
Reviewed-by: Venky Shankar <vshankar@redhat.com>
molpako [Wed, 20 Mar 2024 09:43:42 +0000 (18:43 +0900)]
doc/cephfs: fix architecture link to correct relative path
Signed-off-by: molpako <35787116+molpako@users.noreply.github.com>
(cherry picked from commit
ceeb1ca4b38dc307e493b04a59d5d07fed23971f )
Pedro Gonzalez Gomez [Wed, 20 Mar 2024 07:47:25 +0000 (08:47 +0100)]
Merge pull request #56253 from rhcs-dashboard/wip-64929-squid
squid: mgr/dashboard: ceph authenticate user from fs
Reviewed-by: afreen23 <NOT@FOUND>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Adam King [Tue, 19 Mar 2024 20:55:36 +0000 (16:55 -0400)]
Merge pull request #56229 from adk3798/squid-docs-typo-replace-osd
squid: doc: cephadm/services/osd: fix typo
Reviewed-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
Reviewed-by: Zac Dover <zac.dover@proton.me>
Ilya Dryomov [Tue, 19 Mar 2024 13:47:57 +0000 (14:47 +0100)]
Merge pull request #55927 from ajarr/wip-64669-squid
squid: qa: add diff-continuous and compare-mirror-image tests to rbd and krbd suites respectively
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Venky Shankar [Tue, 19 Mar 2024 13:21:28 +0000 (18:51 +0530)]
Merge pull request #56194 from vshankar/wip-64924-squid
squid: mds: disable `defer_client_eviction_on_laggy_osds' by default
Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
Ramana Raja [Thu, 29 Feb 2024 17:12:19 +0000 (12:12 -0500)]
qa/suites: add diff-continuous and compare-mirror-image tests
... to rbd and krbd suites respectively.
This allows the compare-mirror-image tests introduced in
ea3a567
to be run against various kernel branches, e.g., testing branch.
And allows diff_continuous test in rbd_suite to run against distro
kernel.
Fixes: https://tracker.ceph.com/issues/64574
Signed-off-by: Ramana Raja <rraja@redhat.com>
(cherry picked from commit
92b254138dd43755490392ffcf5ebca04872e116 )
Ramana Raja [Thu, 29 Feb 2024 16:55:08 +0000 (11:55 -0500)]
qa/suites/rbd: rename nbd folder to device folder
Signed-off-by: Ramana Raja <rraja@redhat.com>
(cherry picked from commit
af43f6162464a20625319a2783a104f7032ba21e )
Zac Dover [Sun, 17 Mar 2024 09:27:11 +0000 (19:27 +1000)]
doc/rados: update common.rst
Clarify some overwritten paragraphs in
doc/rados/configuration/common.rst. Cf.
https://github.com/ceph/ceph/pull/50795/files#r1153897231.
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit
233b670704d15c3a69b8d91885b60f3fb101ec58 )
Zac Dover [Mon, 18 Mar 2024 17:39:03 +0000 (03:39 +1000)]
Merge pull request #56261 from zdover23/wip-doc-2024-03-19-backport-56247-to-squid
squid: docs/rbd: fix typo in arg name
Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
N Balachandran [Mon, 18 Mar 2024 04:02:39 +0000 (09:32 +0530)]
docs/rbd: fix typo in arg name
Replace "{image-}" with "{image-id}" in the "rbd trash rm"
command description.
Signed-off-by: N Balachandran <nibalach@redhat.com>
(cherry picked from commit
f3eb489520fd4fae057e61275d16c6c8fd596f3f )
docs/rbd: replace introspect with inspect
Replace "introspect" with "inspect" in the rbd basic commands
description.
Signed-off-by: N Balachandran <nibalach@redhat.com>
(cherry picked from commit
ebf2f60f784728c04d8ec59015d666bafcef8218 )
docs/rbd: typo in "retrieving image information"
Replace "for the image" with "of the image".
Signed-off-by: N Balachandran <nibalach@redhat.com>
(cherry picked from commit
4fd5c134536d652ae1f9e05ecf52cb81adb3b850 )
Anthony D'Atri [Mon, 18 Mar 2024 14:05:49 +0000 (10:05 -0400)]
Merge pull request #56255 from zdover23/wip-doc-2024-03-18-backport-56248-to-squid
squid: doc/rbd: minor changes to the rbd man page
N Balachandran [Mon, 18 Mar 2024 12:22:47 +0000 (17:52 +0530)]
doc/rbd: minor changes to the rbd man page
Fixes typos and grammar for some commands. Adds
additional details for some commandds.
Signed-off-by: N Balachandran <nibalach@redhat.com>
(cherry picked from commit
5dcff6a4b8d835fc55e454af977dc5ebad99d37f )
Guillaume Abrioux [Mon, 18 Mar 2024 10:38:23 +0000 (11:38 +0100)]
Merge pull request #56251 from guits/wip-64931-squid
squid: node-proxy: fix RedFishClient.logout() method
Pedro Gonzalez Gomez [Fri, 1 Mar 2024 12:43:12 +0000 (13:43 +0100)]
mgr/dashboard: ceph authenticate user from fs
Fixes: https://tracker.ceph.com/issues/64660
Signed-off-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
(cherry picked from commit
19a9f79b5f218d8cb757579bf8c0f5d610dde3a8 )
Guillaume Abrioux [Fri, 15 Mar 2024 14:20:29 +0000 (14:20 +0000)]
node-proxy: support more Location value formats
After some tests, it turns out that depending on the hardware,
the header 'Location' which is returned by the server after logged can be different.
I could notice the following:
either:
Location: scheme://address:port/redfish/v1/SessionService/Session
or
Location: /redfish/v1/SessionService/Session
a previous tracker [1] was opened because I thought only the first one existed, which is wrong.
Fixes: https://tracker.ceph.com/issues/64951
[1] https://tracker.ceph.com/issues/64894
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit
d7ccf26983c41344a12f33b2a30fc79b65cc548f )
Guillaume Abrioux [Wed, 13 Mar 2024 13:32:59 +0000 (13:32 +0000)]
node-proxy: fix RedFishClient.logout() method
the endpoint passed down to util.query() is wrong:
is passes the full url (scheme://addr:port/path) where it should only
pass the path. The cause is that RedFishClient.login() basically stores
the value of the Location header in `self.location`.
The consequence of this is that it makes the client unable to properly logout.
Fixes: https://tracker.ceph.com/issues/64894
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit
b1d828d1d2f31c02f225bb375d915353582d158a )
Casey Bodley [Sun, 17 Mar 2024 14:34:57 +0000 (14:34 +0000)]
Merge pull request #56125 from cbodley/wip-64834-squid
squid: RGW - Swift retarget needs bucket set on object
Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
Casey Bodley [Sun, 17 Mar 2024 14:34:32 +0000 (14:34 +0000)]
Merge pull request #56144 from cbodley/wip-64876-squid
squid: rgw_lc: replace strftime w/fmt and chrono:calendar
Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
Casey Bodley [Sun, 17 Mar 2024 14:34:08 +0000 (14:34 +0000)]
Merge pull request #56156 from yuvalif/wip-64887-squid
squid: rgw/kafka: set message timeout to 5 seconds
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Casey Bodley [Sun, 17 Mar 2024 14:33:47 +0000 (14:33 +0000)]
Merge pull request #56181 from ivancich/wip-64909-squid
squid: rgw: rgw-restore-bucket-index -- sort uses specified temp dir
Reviewed-by: Michael Kidd <linuxkidd@gmail.com>
Ilya Dryomov [Sat, 16 Mar 2024 18:41:57 +0000 (19:41 +0100)]
Merge pull request #56216 from idryomov/wip-63770-squid
squid: librbd: account for discards that truncate in ObjectListSnapsRequest
Reviewed-by: Ramana Raja <rraja@redhat.com>
Ilya Dryomov [Sat, 16 Mar 2024 18:07:05 +0000 (19:07 +0100)]
Merge pull request #55761 from ajarr/wip-64553-squid
squid: qa: Add tests to validate synced images on rbd-mirror
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Anthony D'Atri [Sat, 16 Mar 2024 01:32:47 +0000 (21:32 -0400)]
Merge pull request #56234 from zdover23/wip-doc-2024-03-16-backport-56182-to-squid
squid: doc/glossary: add "librados" entry
Zac Dover [Thu, 14 Mar 2024 06:29:09 +0000 (16:29 +1000)]
doc/glossary: add "librados" entry
Add a "librados" entry to the glossary.
Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit
2a93a8e837a42559f8a81c6fd9274b24f4fdf7f6 )
Lorenz Bausch [Wed, 13 Mar 2024 16:26:51 +0000 (17:26 +0100)]
doc: cephadm/services/osd: fix typo
Signed-off-by: Lorenz Bausch <info@lorenzbausch.de>
(cherry picked from commit
d513f1ca69d38f0d7eb40a2d68275caed322cc68 )