]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
15 months agodoc/start: improve MDS explanation 56436/head
Zac Dover [Sun, 24 Mar 2024 21:19:24 +0000 (07:19 +1000)]
doc/start: improve MDS explanation

Improve the explanation of MDS as requested by Anthony D'Atri here:

https://github.com/ceph/ceph/pull/56367#discussion_r1536667249

Signed-off-by: Zac Dover <zac.dover@proton.me>
15 months agoMerge pull request #56287 from rzarzynski/wip-ec-profile-set-paranoid-on-override
Zac Dover [Sun, 24 Mar 2024 20:57:30 +0000 (06:57 +1000)]
Merge pull request #56287 from rzarzynski/wip-ec-profile-set-paranoid-on-override

mon, doc: overriding ec profile requires --yes-i-really-mean-it

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
15 months agoMerge pull request #56367 from zdover23/wip-doc-2024-03-21-intro-mds
Zac Dover [Sun, 24 Mar 2024 07:27:20 +0000 (17:27 +1000)]
Merge pull request #56367 from zdover23/wip-doc-2024-03-21-intro-mds

doc/start: improve MDS explanation

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
15 months agoMerge pull request #56375 from athanatos/sjust/wip-64996-deepscrub-crash
Samuel Just [Sun, 24 Mar 2024 02:42:51 +0000 (19:42 -0700)]
Merge pull request #56375 from athanatos/sjust/wip-64996-deepscrub-crash

crimson/.../scrub_events: fix progress lifetime in deep_scan_object

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
15 months agoMerge PR #56354 into main
Patrick Donnelly [Sat, 23 Mar 2024 13:02:43 +0000 (09:02 -0400)]
Merge PR #56354 into main

* refs/pull/56354/head:
qa/suites/fs/workload: enable snap_schedule early

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
15 months agoMerge PR #56296 into main
Patrick Donnelly [Fri, 22 Mar 2024 17:54:04 +0000 (13:54 -0400)]
Merge PR #56296 into main

* refs/pull/56296/head:
qa/cephfs: add mgr debugging

Reviewed-by: Venky Shankar <vshankar@redhat.com>
15 months agoMerge pull request #56374 from athanatos/sjust/wip-64935-osd-osdmap-destruction-order
Samuel Just [Fri, 22 Mar 2024 17:49:47 +0000 (10:49 -0700)]
Merge pull request #56374 from athanatos/sjust/wip-64935-osd-osdmap-destruction-order

crimson/osd/osd.h: declare osdmap after OSDSingletonState

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
15 months agoqa/suites/fs/workload: enable snap_schedule early 56354/head
Patrick Donnelly [Thu, 21 Mar 2024 01:52:11 +0000 (21:52 -0400)]
qa/suites/fs/workload: enable snap_schedule early

Otherwise it can cause client evictions when the volumes plugin has mounted
cephfs.

Fixes: https://tracker.ceph.com/issues/64988
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
15 months agoMerge pull request #56377 from zdover23/wip-doc-2024-03-22-start-intro-mon-map
Zac Dover [Fri, 22 Mar 2024 16:16:51 +0000 (02:16 +1000)]
Merge pull request #56377 from zdover23/wip-doc-2024-03-22-start-intro-mon-map

doc/start: link to mon map command

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
15 months agoMerge PR #56271 into main
Patrick Donnelly [Fri, 22 Mar 2024 15:56:08 +0000 (11:56 -0400)]
Merge PR #56271 into main

* refs/pull/56271/head:
qa/cephfs: stop ignoring MON_DOWN globally
qa: extend mon timeout coming up after mondb creation
qa: update dashboard schema for mon_status
mon: do not log MON_DOWN if monitor uptime is less than threshold

Reviewed-by: Leonid Usov <leonid.usov@ibm.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
15 months agoMerge pull request #56053 from rhcs-dashboard/delete-bucket-notification
Nizamudeen A [Fri, 22 Mar 2024 15:28:40 +0000 (20:58 +0530)]
Merge pull request #56053 from rhcs-dashboard/delete-bucket-notification

mgr/dashboard: add a notification when deleting rgw bucket

Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
15 months agoMerge pull request #56335 from ivoalmeida/snapshot-schedule-show-subvolume-path
Ivo Almeida [Fri, 22 Mar 2024 15:27:03 +0000 (15:27 +0000)]
Merge pull request #56335 from ivoalmeida/snapshot-schedule-show-subvolume-path

Snapshot schedule show subvolume path

Reviewed-by: Nizamudeen A <nia@redhat.com>
15 months agomgr/dashboard: show full subvol path snap schedule 56335/head
Ivo Almeida [Wed, 20 Mar 2024 10:35:52 +0000 (10:35 +0000)]
mgr/dashboard: show full subvol path snap schedule

Show full subvolume path when adding snap schedule

Fixes: https://tracker.ceph.com/issues/65000
Signed-off-by: Ivo Almeida <ialmeida@redhat.com>
15 months agoMerge pull request #56337 from ronen-fr/wip-rf-qslow
Ronen Friedman [Fri, 22 Mar 2024 10:50:21 +0000 (12:50 +0200)]
Merge pull request #56337 from ronen-fr/wip-rf-qslow

osd/scrub: no "slow response" warning for queued reservations

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
15 months agoMerge pull request #56372 from ivoalmeida/fix-edit-subvolume-group-size
Ivo Almeida [Fri, 22 Mar 2024 09:40:02 +0000 (09:40 +0000)]
Merge pull request #56372 from ivoalmeida/fix-edit-subvolume-group-size

mgr/dashboard: fix subvolume group edit size

Reviewed-by: Nizamudeen A <nia@redhat.com>
15 months agoMerge pull request #55953 from afreen23/wip-pg-targets
Nizamudeen A [Fri, 22 Mar 2024 08:34:03 +0000 (14:04 +0530)]
Merge pull request #55953 from afreen23/wip-pg-targets

mgr/dashboard: Mark placement targets as non-required

Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
Reviewed-by: ivoalmeida <NOT@FOUND>
Reviewed-by: Nizamudeen A <nia@redhat.com>
15 months agomgr/dashboard: add a notification when deleting rgw bucket 56053/head
Pedro Gonzalez Gomez [Fri, 8 Mar 2024 05:40:16 +0000 (06:40 +0100)]
mgr/dashboard: add a notification when deleting rgw bucket

Fixes: https://tracker.ceph.com/issues/64855
Signed-off-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
15 months agoMerge PR #54581 into main
Venky Shankar [Fri, 22 Mar 2024 07:24:29 +0000 (12:54 +0530)]
Merge PR #54581 into main

* refs/pull/54581/head:
doc/dev: update quiesce developer document
qa: wrap quiesce verification to dump debugging on error
qa: update quiesce tests for control via locallock
qa: set archive path in vstart_runner
qa: refactor CephFSMount.kill_background to optionally kill all background jobs
qa: use kwarg for rank parameter
qa: simplify calls to (rank|mds)_(tell|asok)
Revert "pybind/mgr/volumes: block quiesce for critical .meta file"
mds: remove is_root indication on quiesce_inode op
mds: prevent new lock cache cons when invalidating an existing one
mds: use XLOCK_WAIT For local lock xlockers
mds: prevent new wrlocks on LocalLock if there exists any xlock waiter
mds: block import discover when parent directory inode is quiesced
mds: avoid issuing exclusive caps to clients lacking w caps
mds: print lock cache during invalidation
mds: use inodeno_t to track quiesce requests
mds: dispatch quiesce_inode ops after dir traversal
mds: remove quiescelock handling for SimpleLock type
mds: quiescelock as local lock + cap masking
qa: run quiesce unit tests in fs:functional
qa: add quiesce protocol unit tests
qa: detect partial migrations during large config of dist epin
qa: use stdin-killer to timeout run_shell_payload
qa: simplify run_shell argument processing
doc: add dev docs for quiesce protocol
pybind/mgr/volumes: block quiesce for critical .meta file
mds: add vxattr to block quiesce on an inode
mds: convert encoded ephemeral dist pin to flags
mds: add counter to throttle quiesce
mds: add quiesce set feature flag
mds: skip non-head inodes for quiesce
mds: add quiesce op
mds: print all SimpleLock flags in debug output
mds: pretty print mutation when dumping lock
mds: add new inode quiescelock
mds: use 128 bits for waiters on MDSCacheObject
mds: provide mechanism to authpin while freezing
mds: add command to get specific op
mds: finish request before completing internal req
mds: complete internal op if killed
mds: avoid killing dead requests
mds: add command to kill request
mds: add path argument to `ops` and `dump tree` to stream result to local file
mds: print internal_request filepaths if present
mds: add more information to debug message
mds: remove redundant parenthesis
mds: implement Mutation::dump method
mds: make LockType fields const
mds: annotate mdr with try_rdlock_snap_layout failure
mds: refactor if into switch
mds: call Locker method using this
mds: simplify assert
mds: dump locks passed to Locker::acquire_locks
mds: add LockOp::print method for debugging
mds: use new insert template via print
mds: add request result to mutation for analysis by tests
mds: add comment on locking order rules
mds: allow specifying rdlock position
mds: remove dead method
common: provide a template for object dumps
common: support long running ops without slow warnings
common: simplify loop
common: add JSONFormatterFile class
common: use more efficient vector for stack
include: use larger int for large gathers

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Leonid Usov <leonid.usov@ibm.com>
15 months agoMerge PR #56219 into main
Venky Shankar [Fri, 22 Mar 2024 07:21:33 +0000 (12:51 +0530)]
Merge PR #56219 into main

* refs/pull/56219/head:
qa: change log-whitelist to log-ignorelist

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Xiubo Li <xiubli@redhat.com>
15 months agoMerge PR #56245 into main
Venky Shankar [Fri, 22 Mar 2024 07:20:11 +0000 (12:50 +0530)]
Merge PR #56245 into main

* refs/pull/56245/head:
mds/quiesce-db: always clear the db if a membership is lost

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
15 months agoMerge pull request #56298 from batrick/i64986
Venky Shankar [Fri, 22 Mar 2024 07:16:58 +0000 (12:46 +0530)]
Merge pull request #56298 from batrick/i64986

qa/cephfs: ignorelist clog of MDS_UP_LESS_THAN_MAX

Reviewed-by: Venky Shankar <vshankar@redhat.com>
15 months agoMerge PR #56299 into main
Venky Shankar [Fri, 22 Mar 2024 07:15:10 +0000 (12:45 +0530)]
Merge PR #56299 into main

* refs/pull/56299/head:
qa/suites/fs/nfs: use standard health ignorelist

Reviewed-by: Venky Shankar <vshankar@redhat.com>
15 months agoMerge pull request #56054 from rhcs-dashboard/open-swagger-new-tab
Nizamudeen A [Fri, 22 Mar 2024 06:12:06 +0000 (11:42 +0530)]
Merge pull request #56054 from rhcs-dashboard/open-swagger-new-tab

mgr/dashboard: open api swagger in new tab

Reviewed-by: afreen23 <NOT@FOUND>
Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
15 months agoMerge pull request #56379 from Svelar/doc_oE
Rongqi Sun [Fri, 22 Mar 2024 05:56:29 +0000 (13:56 +0800)]
Merge pull request #56379 from Svelar/doc_oE

doc/install: fix typos in openEuler-installation doc

15 months agoMerge pull request #56246 from xxhdx1985126/wip-64957
Yingxin [Fri, 22 Mar 2024 05:56:03 +0000 (13:56 +0800)]
Merge pull request #56246 from xxhdx1985126/wip-64957

crimson/os/seastore/btree: check for reserved ptrs when determining children stability

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
15 months agoMerge pull request #56237 from rhcs-dashboard/store-token-in-cookie
Nizamudeen A [Fri, 22 Mar 2024 05:54:28 +0000 (11:24 +0530)]
Merge pull request #56237 from rhcs-dashboard/store-token-in-cookie

mgr/dashboard: securely store remote cluster token

Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
Reviewed-by: ivoalmeida <NOT@FOUND>
15 months agocrimson/os/seastore/btree: always check the stability of extents within 56246/head
Xuehan Xu [Thu, 21 Mar 2024 01:54:42 +0000 (09:54 +0800)]
crimson/os/seastore/btree: always check the stability of extents within
the current transaction's view

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
15 months agodoc/install: fix typos in openEuler-installation doc 56379/head
Rongqi Sun [Fri, 22 Mar 2024 03:12:09 +0000 (03:12 +0000)]
doc/install: fix typos in openEuler-installation doc

Signed-off-by: Rongqi Sun <sunrongqi@huawei.com>
15 months agodoc/start: link to mon map command 56377/head
Zac Dover [Thu, 21 Mar 2024 22:12:16 +0000 (08:12 +1000)]
doc/start: link to mon map command

Link to the "ceph mon stat" command when "Intro to Ceph" document first
mentions Monitor Maps.

Signed-off-by: Zac Dover <zac.dover@proton.me>
15 months agoMerge pull request #55886 from tchaikov/wip-ceph.spec-gcc-13
Samuel Just [Thu, 21 Mar 2024 21:24:39 +0000 (14:24 -0700)]
Merge pull request #55886 from tchaikov/wip-ceph.spec-gcc-13

ceph.spec.in: bump gcc-toolset to 13 and use it on rhel>=8

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
15 months agoMerge pull request #56369 from adk3798/nvmeof-new-fields
Adam King [Thu, 21 Mar 2024 19:33:24 +0000 (15:33 -0400)]
Merge pull request #56369 from adk3798/nvmeof-new-fields

mgr/cephadm: add some NVMEof gateway fields to be configurable by cephadm

Reviewed-by: Gil Bregman <gbregman@il.ibm.com>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
15 months agoMerge pull request #56283 from Svelar/remove_WITH_ZBD
Dan Mick [Thu, 21 Mar 2024 18:20:11 +0000 (11:20 -0700)]
Merge pull request #56283 from Svelar/remove_WITH_ZBD

run-make: remove WITH_ZBD

15 months agomgr/dashboard: fix subvolume group edit size 56372/head
Ivo Almeida [Thu, 21 Mar 2024 16:13:48 +0000 (16:13 +0000)]
mgr/dashboard: fix subvolume group edit size

Removed the 'infinite' string which was set when no value was provided

Fixes: https://tracker.ceph.com/issues/65049
Signed-off-by: Ivo Almeida <ialmeida@redhat.com>
15 months agoMerge pull request #55691 from ivoalmeida/snapshot-schedule-retention-fix
Ivo Almeida [Thu, 21 Mar 2024 15:36:26 +0000 (15:36 +0000)]
Merge pull request #55691 from ivoalmeida/snapshot-schedule-retention-fix

mgr/dashboard: fix retention add for subvolume

Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
Reviewed-by: Milind Changire <mchangir@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
15 months agomgr/cephadm: add nvmeof configuration fields 56369/head
Gil Bregman [Thu, 21 Mar 2024 09:06:52 +0000 (11:06 +0200)]
mgr/cephadm: add nvmeof configuration fields

Fixes: https://tracker.ceph.com/issues/64821
Signed-off-by: Gil Bregman <gbregman@il.ibm.com>
15 months agopython-common/ceph/deployment: add nvmeof configuration fields
Gil Bregman [Thu, 21 Mar 2024 09:07:54 +0000 (11:07 +0200)]
python-common/ceph/deployment: add nvmeof configuration fields

Fixes: https://tracker.ceph.com/issues/64821
Signed-off-by: Gil Bregman <gbregman@il.ibm.com>
15 months agoMerge pull request #56008 from kchheda3/wip-notification-subsys
Casey Bodley [Thu, 21 Mar 2024 15:08:35 +0000 (15:08 +0000)]
Merge pull request #56008 from kchheda3/wip-notification-subsys

rgw/notification: add rgw notification specific debug log subsystem

Reviewed-by: Yuval Lifshitz <ylifshit@redhat.com>
15 months agoosd/scrub: removing the slow reservation response configuration option 56337/head
Ronen Friedman [Thu, 21 Mar 2024 15:06:13 +0000 (17:06 +0200)]
osd/scrub: removing the slow reservation response configuration option

Removing 'osd_scrub_slow_reservation_response', as it is not in use
anymore.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
15 months agoMerge pull request #55348 from chenyuanrun/fix-io-ctx-impl-flags
Yuri Weinstein [Thu, 21 Mar 2024 14:48:01 +0000 (07:48 -0700)]
Merge pull request #55348 from chenyuanrun/fix-io-ctx-impl-flags

librados: use CEPH_OSD_FLAG_FULL_FORCE for IoCtxImpl::remove

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
15 months agoMerge pull request #50622 from cofractal/close-range
Yuri Weinstein [Thu, 21 Mar 2024 14:47:34 +0000 (07:47 -0700)]
Merge pull request #50622 from cofractal/close-range

common: use close_range on Linux

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
15 months agodoc/start: improve MDS explanation 56367/head
Zac Dover [Thu, 21 Mar 2024 12:48:10 +0000 (22:48 +1000)]
doc/start: improve MDS explanation

Remove a prolix "on behalf of" and streamline some sentences explaining
the benefits of MDS.

Signed-off-by: Zac Dover <zac.dover@proton.me>
15 months agorun-make: remove WITH_ZBD 56283/head
Rongqi Sun [Tue, 19 Mar 2024 13:12:51 +0000 (13:12 +0000)]
run-make: remove WITH_ZBD

This commit remove 'WITH_ZBD' in run-make.sh because of: https://github.com/ceph/ceph/pull/55054

Fixes: https://tracker.ceph.com/issues/64962
Signed-off-by: Rongqi Sun <sunrongqi@huawei.com>
15 months agoMerge pull request #56278 from sachinpunadikar/vstart_ganesha_fix
Adam King [Thu, 21 Mar 2024 11:01:47 +0000 (07:01 -0400)]
Merge pull request #56278 from sachinpunadikar/vstart_ganesha_fix

vstart: Ganesha should not be started in DEBUG mode

Reviewed-by: Adam King <adking@redhat.com>
15 months agomgr/dashboard:Mark placement targets as non-required in bucket form 55953/head
Afreen [Fri, 1 Mar 2024 07:26:25 +0000 (12:56 +0530)]
mgr/dashboard:Mark placement targets as non-required in bucket form

Fixes https://tracker.ceph.com/issues/64708

- adds info text explaining about placement targets
- adds fieldset to security, policy and tags for a11y
- removes placement target as required field
- when no placement target provided, request omits placement_target
  field
- hides placement atrgets ection for edit form since its not possible to
  edit after creation
- updates rgw-bucket.service.spec.ts unit test
- minor cleanups related to unncesseary css present, and changes in help
  text for object locking
- updated e2e tests for buckets to incorporate changes

Signed-off-by: Afreen <afreen23.git@gmail.com>
15 months agoMerge pull request #56284 from ivoalmeida/snapshot-schedule-monthly-retention-frequency
Ivo Almeida [Thu, 21 Mar 2024 09:10:57 +0000 (09:10 +0000)]
Merge pull request #56284 from ivoalmeida/snapshot-schedule-monthly-retention-frequency

mgr/dashboard: fix M retention frequency display

Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
15 months agoMerge pull request #56146 from ljflores/wip-tracker-64725 56346/head
Laura Flores [Wed, 20 Mar 2024 21:50:47 +0000 (16:50 -0500)]
Merge pull request #56146 from ljflores/wip-tracker-64725

qa/suites/rados/singleton: add POOL_APP_NOT_ENABLED to ignorelist

16 months agoMerge pull request #56183 from rhcs-dashboard/fix-tags-null
Nizamudeen A [Wed, 20 Mar 2024 19:17:04 +0000 (00:47 +0530)]
Merge pull request #56183 from rhcs-dashboard/fix-tags-null

mgr/dashboard: fix empty tags

Reviewed-by: afreen23 <NOT@FOUND>
Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
16 months agoMerge pull request #52617 from TomNewChao/main
Nizamudeen A [Wed, 20 Mar 2024 18:58:38 +0000 (00:28 +0530)]
Merge pull request #52617 from TomNewChao/main

mgr/dashboard/frontend:Ceph dashboard supports multiple languages

Reviewed-by: Svelar <NOT@FOUND>
Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
16 months agoMerge pull request #55841 from Matan-B/wip-matanb-mon-rmsnap-fix
Yuri Weinstein [Wed, 20 Mar 2024 15:43:22 +0000 (08:43 -0700)]
Merge pull request #55841 from Matan-B/wip-matanb-mon-rmsnap-fix

mon/OSDMonitor: fix rmsnap command

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
16 months agoMerge pull request #55409 from cybozu/add-ceph-exporter-to-deb-package
Yuri Weinstein [Wed, 20 Mar 2024 15:40:57 +0000 (08:40 -0700)]
Merge pull request #55409 from cybozu/add-ceph-exporter-to-deb-package

debian: add ceph-exporter package

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
16 months agoMerge pull request #53308 from NitzanMordhai/wip-nitzan-qa-tasks-with-crush-rules
Yuri Weinstein [Wed, 20 Mar 2024 15:37:45 +0000 (08:37 -0700)]
Merge pull request #53308 from NitzanMordhai/wip-nitzan-qa-tasks-with-crush-rules

suites: qa tasks with crush rules

Reviewed-by: Samuel Just <sjust@redhat.com>
16 months agodoc/dev: update quiesce developer document 54581/head
Patrick Donnelly [Thu, 14 Mar 2024 18:29:58 +0000 (14:29 -0400)]
doc/dev: update quiesce developer document

To include changes relating to it now being a local lock that prevents mutable
caps.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
16 months agoqa: wrap quiesce verification to dump debugging on error
Patrick Donnelly [Fri, 8 Mar 2024 03:50:54 +0000 (22:50 -0500)]
qa: wrap quiesce verification to dump debugging on error

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
16 months agoqa: update quiesce tests for control via locallock
Patrick Donnelly [Tue, 27 Feb 2024 20:27:02 +0000 (15:27 -0500)]
qa: update quiesce tests for control via locallock

- Verify multirank quiesce incl. caps issued.
- Unset splitauth experimental

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
16 months agoqa: set archive path in vstart_runner
Patrick Donnelly [Sun, 3 Mar 2024 02:19:58 +0000 (21:19 -0500)]
qa: set archive path in vstart_runner

For storing misc. test artifacts.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
16 months agoqa: refactor CephFSMount.kill_background to optionally kill all background jobs
Patrick Donnelly [Sat, 2 Mar 2024 02:51:36 +0000 (21:51 -0500)]
qa: refactor CephFSMount.kill_background to optionally kill all background jobs

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
16 months agoqa: use kwarg for rank parameter
Patrick Donnelly [Thu, 14 Mar 2024 14:37:12 +0000 (10:37 -0400)]
qa: use kwarg for rank parameter

Otherwise it gets included in the *args list. This is necessary after commit
`qa: simplify calls to (rank|mds)_(tell|asok)`.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
16 months agoqa: simplify calls to (rank|mds)_(tell|asok)
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>
16 months agoRevert "pybind/mgr/volumes: block quiesce for critical .meta file"
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>
16 months agomds: remove is_root indication on quiesce_inode op
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>
16 months agomds: prevent new lock cache cons when invalidating an existing one
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>
16 months agomds: use XLOCK_WAIT For local lock xlockers
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>
16 months agomds: prevent new wrlocks on LocalLock if there exists any xlock waiter
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>
16 months agomds: block import discover when parent directory inode is quiesced
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>
16 months agomds: avoid issuing exclusive caps to clients lacking w caps
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>
16 months agomds: print lock cache during invalidation
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>
16 months agomds: use inodeno_t to track quiesce requests
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>
16 months agomds: dispatch quiesce_inode ops after dir traversal
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>
16 months agomds: remove quiescelock handling for SimpleLock type
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>
16 months agomds: quiescelock as local lock + cap masking
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>
16 months agoqa: run quiesce unit tests in fs:functional
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
16 months agoqa: add quiesce protocol unit tests
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
16 months agoqa: detect partial migrations during large config of dist epin
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>
16 months agoqa: use stdin-killer to timeout run_shell_payload
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>
16 months agoqa: simplify run_shell argument processing
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>
16 months agodoc: add dev docs for quiesce protocol
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>
16 months agopybind/mgr/volumes: block quiesce for critical .meta file
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>
16 months agomds: add vxattr to block quiesce on an inode
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>
16 months agomds: convert encoded ephemeral dist pin to flags
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>
16 months agomds: add counter to throttle quiesce
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>
16 months agomds: add quiesce set feature flag
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
16 months agomds: skip non-head inodes for quiesce
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>
16 months agomds: add quiesce op
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
16 months agomds: print all SimpleLock flags in debug output
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>
16 months agomds: pretty print mutation when dumping lock
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>
16 months agomds: add new inode quiescelock
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>
16 months agomds: use 128 bits for waiters on MDSCacheObject
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>
16 months agomds: provide mechanism to authpin while freezing
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>
16 months agomds: add command to get specific op
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>
16 months agomds: finish request before completing internal req
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>
16 months agomds: complete internal op if killed
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>
16 months agomds: avoid killing dead requests
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>
16 months agomds: add command to kill request
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>
16 months agomds: add path argument to `ops` and `dump tree` to stream result to local file
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>
16 months agomds: print internal_request filepaths if present
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>
16 months agomds: add more information to debug message
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>
16 months agomds: remove redundant parenthesis
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>
16 months agomds: implement Mutation::dump method
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>
16 months agomds: make LockType fields const
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>
16 months agomds: annotate mdr with try_rdlock_snap_layout failure
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>