]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
4 months agoMerge pull request #61908 from Jayaprakash-ibm/wip-time-measure-fix
Jaya Prakash [Tue, 4 Mar 2025 15:01:37 +0000 (20:31 +0530)]
Merge pull request #61908 from Jayaprakash-ibm/wip-time-measure-fix

os/bluestore : Assigning a named variable to ceph::time_guard to prevent immediate destruction

Reviewed-by: Igor Fedotov <igor.fedotov@croit.io>
Reviewed-by: Radoslaw Zarzynski <rzarzynski@redhat.com>
4 months agoMerge pull request #61882 from liu-chunmei/fault_range
Jaya Prakash [Tue, 4 Mar 2025 15:00:06 +0000 (20:30 +0530)]
Merge pull request #61882 from liu-chunmei/fault_range

os/bluestore: fix fault_range for _do_write_v2

Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
4 months agoMerge pull request #61843 from ifed01/wip-ifed-fix-expand
Jaya Prakash [Tue, 4 Mar 2025 14:59:36 +0000 (20:29 +0530)]
Merge pull request #61843 from ifed01/wip-ifed-fix-expand

os/bluestore: fix bdev expansion and more

Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
4 months agoMerge pull request #61502 from Jayaprakash-ibm/wip-refactor-allocator-class
Jaya Prakash [Tue, 4 Mar 2025 14:57:54 +0000 (20:27 +0530)]
Merge pull request #61502 from Jayaprakash-ibm/wip-refactor-allocator-class

os/bluestore : Refactoring Allocator Class

Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
Reviewed-by: Igor Fedotov <igor.fedotov@croit.io>
4 months agoMerge pull request #61596 from cbodley/wip-69741
Casey Bodley [Tue, 4 Mar 2025 14:32:40 +0000 (09:32 -0500)]
Merge pull request #61596 from cbodley/wip-69741

qa/rgw: fix user cleanup in s3tests task

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
4 months agoMerge PR #60726 into main
Venky Shankar [Tue, 4 Mar 2025 12:52:34 +0000 (18:22 +0530)]
Merge PR #60726 into main

* refs/pull/60726/head:
qa: add test checking 'journal import' from empty dump file
cephfs-journal-tool: fix segfault during 'journal import' from invalid dump file

Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
4 months agoMerge pull request #60938 from joscollin/wip-fix-try-lock
Venky Shankar [Tue, 4 Mar 2025 12:51:23 +0000 (18:21 +0530)]
Merge pull request #60938 from joscollin/wip-fix-try-lock

cephfs_mirror: do not log the previous error

Reviewed-by: Venky Shankar <vshankar@redhat.com>
4 months agoMerge pull request #61073 from ljflores/tracker-69098
Venky Shankar [Tue, 4 Mar 2025 12:45:42 +0000 (18:15 +0530)]
Merge pull request #61073 from ljflores/tracker-69098

qa/suites/fs/upgrade/mds_upgrade_sequence/tasks: set require-osd-release

Reviewed-by: Venky Shankar <vshankar@redhat.com>
4 months agoMerge pull request #61076 from joscollin/wip-B69232-test_cephfs_mirror_stats_fail
Venky Shankar [Tue, 4 Mar 2025 12:44:33 +0000 (18:14 +0530)]
Merge pull request #61076 from joscollin/wip-B69232-test_cephfs_mirror_stats_fail

qa: fix test_cephfs_mirror_stats failure

Reviewed-by: Venky Shankar <vshankar@redhat.com>
4 months agoMerge pull request #61433 from smanjara/wip-fix-tenant-replication
J. Eric Ivancich [Mon, 3 Mar 2025 19:02:19 +0000 (14:02 -0500)]
Merge pull request #61433 from smanjara/wip-fix-tenant-replication

rgw/multisite: fix forwarded requests for tenanted buckets

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 months agoMerge pull request #61421 from clwluvw/replication-conf
J. Eric Ivancich [Mon, 3 Mar 2025 19:01:12 +0000 (14:01 -0500)]
Merge pull request #61421 from clwluvw/replication-conf

rgw: handle destination bucket as an ARN in ReplicationConfiguration

Reviewed-by: Adam Emerson <aemerson@redhat.com>
4 months agoMerge pull request #60990 from umesh-mv/wip-umeshmv-67933
J. Eric Ivancich [Mon, 3 Mar 2025 18:58:07 +0000 (13:58 -0500)]
Merge pull request #60990 from umesh-mv/wip-umeshmv-67933

rgw/rgw_zone : fixing inline-data default value

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 months agoMerge pull request #61650 from cbodley/wip-rgw-delete-full-try
Casey Bodley [Mon, 3 Mar 2025 17:03:09 +0000 (12:03 -0500)]
Merge pull request #61650 from cbodley/wip-rgw-delete-full-try

rgw/rados: enable object deletion at rados pool quota

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Adam Emerson <aemerson@redhat.com>
4 months agoMerge PR #61321 into main
Patrick Donnelly [Mon, 3 Mar 2025 13:34:58 +0000 (08:34 -0500)]
Merge PR #61321 into main

* refs/pull/61321/head:
qa: update require-osd-release to tentacle
tools/monmaptool: bump new cluster version to X
doc/dev/release-checklists: remove ceph-container task
script/ceph-release-notes: add squid/tentacle
doc/dev/release-checklists:: mark task complete
doc/dev/release-checklist: add nightlies task
doc/dev/release-checklists: update ceph-build for tentacle
doc/dev/release-checklists: note redmine is done
qa: update to tentacle
doc/dev/release-checklist: question telemetry tentacle test
osd/OSDMap: update to tentacle
qa/workunits/cephtool/test: update to tentacle
mon/OSDMonitor: update to tentacle
common/options/global.yaml.in: update for tentacle
mon/MgrMonitor: update for tentacle
qa/standalone/mon/misc: update for tentacle
doc: update compatset for tentacle
doc: no deprecated features
include/ceph_features: add SERVER_TENTACLE feature bit
cephadm,ceph-volume: update to tentacle
doc/dev/release-checklist: add backport-create-issue
script: update backport-resolve-issue to tentacle
*: add constants and release names
ceph_release: update to tentacle
librbd: bump version
CMakeLists.txt: update VERSION
doc: remove obsolete checklist item
doc: reset for tentacle

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Bill Scales <bill_scales@uk.ibm.com>
Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
4 months agoMerge PR #60746 into main v20.0.0
Patrick Donnelly [Mon, 3 Mar 2025 13:31:36 +0000 (08:31 -0500)]
Merge PR #60746 into main

* refs/pull/60746/head:
client: skip unexpected command replies
mgr: indicate map message is acked instead of unhandled
osdc/Objecter: convert to ms_dispatch2 for ack
client: indicate maps are acked not processed
msg: add alternate statuses for ms_dispatch2 handling
tools/cephfs_mirror: do not process maps with fast dispatch
doc: add docs for volumes interface for charmap
qa: add tests for subvolume charmap settings
pybind/mgr/volumes: wire up charmap for subvol/subvolgroup
pybind/mgr: send MDS commands through cephfs client
pybind/cephfs: wire up mds_command2
mgr: add module method to send notifications
libcephfs: add mds_command2 for asynchronous commands
mgr: excise CephFS client from mgr C++ base
mgr: use std namespace
doc: add docs for CephFS charmap config
qa: add charmap tests
qa: add helpful exceptions for attr changes
qa: ignore libicu leaks
client: add wrappings for charmap manipuluation of dentry names
client: add dir_result_t::dentry::print
win32: add libicu Windows build
CMakeLists: add boost::locale dependency for client
install-deps: unconditionally install boost libraries
test/libcephfs: update root operation return values
client: refactor all path traversals through path_walk
test/libcephfs: test parallel creates
test/libcephfs: add test for lookup failure after readdir
client: init dentry shared_gen with invalid value
client: add _lookup debugging
client: remove redundant check
client: dump InodeStat from mds
mds: encode optmetadata in InodeStat sent to clients
mds: check client features for charmap
mds: add client feature bit for charmap
mds: wire up vxattr for changing charmap
mds: inherit charmap on mkdir
mds,include: add charmap optmetadata
mds,include: add inode_t optional metadata
client: hide alternate_name from API
client: move alternate_name once
client: optimize alternate_name passing to helper
client: relocate definition
client: print dentry with alternate_name on dump
client: move inode dump to print method
mds: add debugging for encoding lease stat
mds: make encode_lease a proper method
mds: add fscrypt metadata for inode stat size
client: use DentryRef for ref counting in MetaRequest
client: add DentryRef
client: add helper for determining if a perm check is necessary
client: cache client_permissions config
client: add debugging for conf changes
client: sort configs
client/UserPerm: add print method
client: note mount parameters in debug log
client: print stat mode in octal
common: add missing op string
include/filepath: add empty path check

Reviewed-by: Venky Shankar <vshankar@redhat.com>
4 months agoMerge pull request #61735 from Matan-B/wip-matanb-crimson-seastar-feb-25
Matan Breizman [Mon, 3 Mar 2025 12:55:00 +0000 (14:55 +0200)]
Merge pull request #61735 from Matan-B/wip-matanb-crimson-seastar-feb-25

seastar: bump up seastar submodule

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
4 months agoMerge pull request #61983 from adk3798/cephadm-fix-apply-same-nvmeof-service
Adam King [Mon, 3 Mar 2025 12:38:49 +0000 (07:38 -0500)]
Merge pull request #61983 from adk3798/cephadm-fix-apply-same-nvmeof-service

mgr/cephadm: don't block matching group for identical nvmeof services

Reviewed-by: Aviv Caro <133020857+caroav@users.noreply.github.com>
4 months agotest/crimson/seastore/CMakeLists: [arm64] disable omap manager 61735/head
Matan Breizman [Mon, 3 Mar 2025 09:31:56 +0000 (09:31 +0000)]
test/crimson/seastore/CMakeLists: [arm64] disable omap manager

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
4 months agocrimson: bump up seastar fixes
Matan Breizman [Sun, 9 Feb 2025 14:50:53 +0000 (14:50 +0000)]
crimson: bump up seastar fixes

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
4 months agoseastar: bump up seastar submodule
Matan Breizman [Sun, 9 Feb 2025 10:55:08 +0000 (10:55 +0000)]
seastar: bump up seastar submodule

Update branch to wip-matanb-seastar-feb-25

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
4 months agoMerge pull request #61494 from mohit84/seastar_configure
Matan Breizman [Mon, 3 Mar 2025 08:15:59 +0000 (10:15 +0200)]
Merge pull request #61494 from mohit84/seastar_configure

crimson: Provide an options to configure several seastar parameters

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
4 months agoMerge pull request #61874 from rhcs-dashboard/edit-storage-class
Nizamudeen A [Mon, 3 Mar 2025 05:23:42 +0000 (10:53 +0530)]
Merge pull request #61874 from rhcs-dashboard/edit-storage-class

mgr/dashboard: RGW - Edit Storage Class

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
4 months agoMerge pull request #61866 from xxhdx1985126/wip-seastore-omap-binary-search
Yingxin Cheng [Mon, 3 Mar 2025 02:25:32 +0000 (10:25 +0800)]
Merge pull request #61866 from xxhdx1985126/wip-seastore-omap-binary-search

crimson/os/seastore/omap_manager: do binary search on omap nodes

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
4 months agoMerge pull request #62076 from anthonyeleven/clarify-stretch-device-class
Zac Dover [Sun, 2 Mar 2025 20:51:34 +0000 (06:51 +1000)]
Merge pull request #62076 from anthonyeleven/clarify-stretch-device-class

doc/rados/operations: Clarify stretch mode vs device class

Reviewed-by: Zac Dover <zac.dover@proton.me>
4 months agoMerge pull request #61643 from rhcs-dashboard/nvmeof-img-trash
afreen23 [Sun, 2 Mar 2025 20:05:45 +0000 (01:35 +0530)]
Merge pull request #61643 from rhcs-dashboard/nvmeof-img-trash

mgr/dashboard: nvmeof trash rbd image on namespace rm

Reviewed-by: Afreen Misbah <afreen@ibm.com>
4 months agodoc/rados/operations: Clarify stretch mode vs device class 62076/head
Anthony D'Atri [Sun, 2 Mar 2025 15:43:18 +0000 (10:43 -0500)]
doc/rados/operations: Clarify stretch mode vs device class

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
4 months agoMerge pull request #62073 from Matan-B/wip-matanb-arm64-gcc-build
Matan Breizman [Sun, 2 Mar 2025 12:58:00 +0000 (14:58 +0200)]
Merge pull request #62073 from Matan-B/wip-matanb-arm64-gcc-build

cmake/modules/BuildISAL.cmake: set no-integrated-as on clang only

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
4 months agocmake/modules/BuildISAL.cmake: set no-integrated-as on clang only 62073/head
Matan Breizman [Sun, 2 Mar 2025 08:42:45 +0000 (08:42 +0000)]
cmake/modules/BuildISAL.cmake: set no-integrated-as on clang only

this option is only relevant to clang, gcc will fail with:
```
CMake Error at ceph/build/src/erasure-code/isa/isal_ext-prefix/src/isal_ext-stamp/isal_ext-configure-Debug-impl.cmake:19 (message):
  Command failed (77):

   'env' 'CC=/usr/bin/gcc-11' './configure' '--prefix=ceph/build/src/isa-l/install' '--with-pic' '--enable-static' '--disable-shared' 'CFLAGS=-no-integrated-as'
```

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
4 months agoMerge pull request #61441 from ivancich/wip-dynamic-resharding-min-shards
J. Eric Ivancich [Sat, 1 Mar 2025 15:41:01 +0000 (10:41 -0500)]
Merge pull request #61441 from ivancich/wip-dynamic-resharding-min-shards

rgw: allow per-bucket minimum number of shards

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 months agoMerge pull request #62010 from ronen-fr/wip-rf-monotime
Ronen Friedman [Sat, 1 Mar 2025 11:07:09 +0000 (13:07 +0200)]
Merge pull request #62010 from ronen-fr/wip-rf-monotime

osd/scrub: tolerate non-monotonic scrub queue cutoff updates

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
4 months agoMerge pull request #61541 from rishabh-d-dave/mgr-vol-comment
Rishabh Dave [Sat, 1 Mar 2025 06:51:01 +0000 (12:21 +0530)]
Merge pull request #61541 from rishabh-d-dave/mgr-vol-comment

mgr/vol: add a helpful comment in async_job.py

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 months agoMerge pull request #61993 from ronen-fr/wip-rf-nbq-sign
Ronen Friedman [Sat, 1 Mar 2025 05:51:01 +0000 (07:51 +0200)]
Merge pull request #61993 from ronen-fr/wip-rf-nbq-sign

test/test_not_before_queue: fix Signed-vs-Unsigned warnings

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
4 months agodoc/rgw: update dynamic resharding docs to reflect recent changes 61441/head
J. Eric Ivancich [Fri, 28 Feb 2025 19:22:53 +0000 (14:22 -0500)]
doc/rgw: update dynamic resharding docs to reflect recent changes

The documentation on dynamic resharding is updated to include a) a
description of reducing the number of shards, b) related configuration
options, and c) the radosgw-admin sub-command to set a minimum number
of shards for a specific bucket.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
4 months agorgw: add radosgw-admin sub-command to set-min-shards for a bucket
J. Eric Ivancich [Tue, 4 Feb 2025 03:01:47 +0000 (22:01 -0500)]
rgw: add radosgw-admin sub-command to set-min-shards for a bucket

There is now a mechansim to set the minimum number of shards when a
bucket is created, and dynamic resharding adheres to that
setting. This adds the ability to modify that minimum shard count that
exists within the bucket layout of the bucket instance
object. Example:

    radosgw-admin bucket set-min-shards --bucket=<bucket> \
        --num-shards=<value>

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
4 months agorgw: allow per-bucket minimum number of shards
J. Eric Ivancich [Wed, 15 Jan 2025 16:26:59 +0000 (11:26 -0500)]
rgw: allow per-bucket minimum number of shards

Dynamic resharding can now reduce the number of shards. The code
currently has a hard-coded value of 11 as the minimum number of shards
dynamic resharding can reshard to. There may be cases where the user
wants to set an alternate minimum, such as when they have a sense of
how many objects the bucket will eventually hold.

This PR builds off of https://github.com/ceph/ceph/pull/61269 .

That PR allows the user to specify an initial number of shards during
bucket creation. This PR then takes that number to be the minimum and
saves it in the layout field of the bucket instance object
(RGWBucketInfo).

When dynamic resharding is triggered, it will use that stored value as
a minimum number of shards for resharing.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
4 months agoMerge pull request #62021 from dmick/container-rmi-tags
Dan Mick [Fri, 28 Feb 2025 19:31:13 +0000 (11:31 -0800)]
Merge pull request #62021 from dmick/container-rmi-tags

container/build.sh: remove local container images

4 months agoMerge pull request #61946 from cbodley/wip-70013
Casey Bodley [Fri, 28 Feb 2025 16:00:02 +0000 (11:00 -0500)]
Merge pull request #61946 from cbodley/wip-70013

rgw: PutObjectLockConfiguration can enable object lock on existing buckets

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
4 months agoqa/rgw: s3tests task adds --purge-data to 'account rm' 61596/head
Casey Bodley [Tue, 4 Feb 2025 16:12:43 +0000 (11:12 -0500)]
qa/rgw: s3tests task adds --purge-data to 'account rm'

Signed-off-by: Casey Bodley <cbodley@redhat.com>
4 months agoradosgw-admin: support 'account rm --purge-data'
Casey Bodley [Tue, 4 Feb 2025 16:09:12 +0000 (11:09 -0500)]
radosgw-admin: support 'account rm --purge-data'

analogous to 'user rm --purge-data'. instead of failing if the account
still owns buckets, remove the remaining buckets/objects

Signed-off-by: Casey Bodley <cbodley@redhat.com>
4 months agoMerge pull request #61901 from cbodley/wip-69936
Casey Bodley [Fri, 28 Feb 2025 14:35:31 +0000 (09:35 -0500)]
Merge pull request #61901 from cbodley/wip-69936

rgw/cksum: GetObject omits checksum headers for Range requests

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
4 months agoMerge pull request #61626 from zdover23/wip-doc-2025-02-03-rados-ops-pgs
Zac Dover [Fri, 28 Feb 2025 12:26:48 +0000 (22:26 +1000)]
Merge pull request #61626 from zdover23/wip-doc-2025-02-03-rados-ops-pgs

doc/rados: improve pg_num/pgp_num info

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
4 months agoMerge pull request #55838 from neesingh-rh/wip-58090
Rishabh Dave [Fri, 28 Feb 2025 10:21:08 +0000 (15:51 +0530)]
Merge pull request #55838 from neesingh-rh/wip-58090

mgr/volumes: fix dangling symlink in clone index

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Kotresh HR <khiremat@redhat.com>
Reviewed-by: Rishabh Dave <ridave@redhat.com>
4 months agoMerge pull request #60394 from joscollin/wip-B68446-B68001-get-metrics-fix
Rishabh Dave [Fri, 28 Feb 2025 10:07:04 +0000 (15:37 +0530)]
Merge pull request #60394 from joscollin/wip-B68446-B68001-get-metrics-fix

qa: reconfigure only the appropriate client auth caps

Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Neeraj Pratap Singh <neesingh@redhat.com>
4 months agoMerge pull request #61554 from rishabh-d-dave/check-mds-id
Rishabh Dave [Fri, 28 Feb 2025 10:03:45 +0000 (15:33 +0530)]
Merge pull request #61554 from rishabh-d-dave/check-mds-id

cephfs,mon: don't disallow "mds/fs fail" when other MDS/FS has health warning

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 months agoMerge pull request #61706 from rishabh-d-dave/subvol-meta-filename-too-long
Rishabh Dave [Fri, 28 Feb 2025 10:01:07 +0000 (15:31 +0530)]
Merge pull request #61706 from rishabh-d-dave/subvol-meta-filename-too-long

mgr/vol: print proper message when subvolume metadata filename is too long

Reviewed-by: Milind Changire <mchangir@redhat.com>
4 months agotest/test_not_before_queue: fix Signed-vs-Unsigned warnings 61993/head
Ronen Friedman [Tue, 25 Feb 2025 14:25:51 +0000 (08:25 -0600)]
test/test_not_before_queue: fix Signed-vs-Unsigned warnings

Fixes: https://tracker.ceph.com/issues/69525
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
4 months agoosd/scrub: log scrub-queue advance_time() failures 62010/head
Ronen Friedman [Wed, 26 Feb 2025 15:10:54 +0000 (09:10 -0600)]
osd/scrub: log scrub-queue advance_time() failures

such failures occur when the "Ceph clock" goes backwards,

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
4 months agocommon/not_before_queue_t: tolerate non-monotonic cut-off values
Ronen Friedman [Wed, 26 Feb 2025 15:07:39 +0000 (09:07 -0600)]
common/not_before_queue_t: tolerate non-monotonic cut-off values

as the system monotonic clock is used when the container is used
in Scrub implementation, and on some kernels there are rare cases
where the monotonic clock can go backwards, we need to tolerate
such events.

Fixes: https://tracker.ceph.com/issues/70055
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
4 months agoMerge pull request #62032 from Matan-B/wip-matanb-crimson-disable-txn-mgr-arm
Rongqi Sun [Fri, 28 Feb 2025 05:54:32 +0000 (13:54 +0800)]
Merge pull request #62032 from Matan-B/wip-matanb-crimson-disable-txn-mgr-arm

test/crimson/seastore/CMakeLists: disable unittest-transaction-manager (arm)

4 months agomg/dashboard: Edit Storage Class 61874/head
Dnyaneshwari [Tue, 11 Feb 2025 06:29:38 +0000 (11:59 +0530)]
mg/dashboard: Edit Storage Class

Fixes: https://tracker.ceph.com/issues/70016
Signed-off-by: Dnyaneshwari Talwekar <dtalweka@redhat.com>
4 months agoMerge pull request #62022 from xxhdx1985126/wip-seastore-tree-pointer-abstract-cleanup
Yingxin Cheng [Fri, 28 Feb 2025 03:10:48 +0000 (11:10 +0800)]
Merge pull request #62022 from xxhdx1985126/wip-seastore-tree-pointer-abstract-cleanup

crimson/so/seastore: clean up logical_child_node.cc

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
4 months agoMerge pull request #62030 from zdover23/wip-doc-2025-02-27-rbd-nvmeof-requirements
Mike Perez [Fri, 28 Feb 2025 02:03:00 +0000 (18:03 -0800)]
Merge pull request #62030 from zdover23/wip-doc-2025-02-27-rbd-nvmeof-requirements

doc/rbd: improve nvmeof-requirements.rst

4 months agoMerge pull request #59213 from myoungwon/wip-dec-omap-leaf-size
Yingxin Cheng [Fri, 28 Feb 2025 01:34:52 +0000 (09:34 +0800)]
Merge pull request #59213 from myoungwon/wip-dec-omap-leaf-size

crimson/os/seastore: redirect log operations to 16K-leaf-size omap

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Reviewed-by: Xuehan Xu <xuxuehan@qianxin.com>
4 months agoMerge PR #61682 into main
Patrick Donnelly [Fri, 28 Feb 2025 01:01:03 +0000 (20:01 -0500)]
Merge PR #61682 into main

* refs/pull/61682/head:
mds/snap: include cleanup
mds/MetricsHandler: include cleanup
mds/LogSegment: add missing includes
mds/JournalPointer: include cleanup
mds/cephfs_features: include cleanup
mds/MDSMap: include cleanup
mds/Migrator: include cleanup
mds/MDLog: include cleanup
mds/SnapServer: include cleanup
mds/MDSTableServer: include cleanup
mds/MetricAggregator: include cleanup
mds/SnapClient: include cleanup
mds/MDSPinger: include cleanup
mds/flock: include cleanup
mds/MDSAuthCaps: include cleanup
mds/QuiesceAgent: include cleanup
mds/QuiesceDb: include cleanup
mds/mdstypes: include cleanup
msg/Locker: include cleanup
mds/journal: add missing includes
mds/Server: include cleanup
mds/LogEvent: include cleanup
mds/Capability: include cleanup
mds/DamageTable: include cleanup
mds/StrayManager: include cleanup
mds/Mutation: include cleanup
mds/SnapRealm: include cleanup
mds/InoTable: add missing include
mds/ScatterLock: add missing include
mon/MDSMonitor: add missing include
mon/MDSDaemon: add missing include

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agoclient: skip unexpected command replies 60746/head
Patrick Donnelly [Tue, 18 Feb 2025 19:35:16 +0000 (14:35 -0500)]
client: skip unexpected command replies

Instead of marking the message as handled, give another component (or Client) a
chance to process.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agomgr: indicate map message is acked instead of unhandled
Patrick Donnelly [Tue, 18 Feb 2025 19:20:57 +0000 (14:20 -0500)]
mgr: indicate map message is acked instead of unhandled

This avoids messages like:

    2025-02-18T05:31:17.738+0000 7f5206546640  0 ms_deliver_dispatch: unhandled message 0x5632d05f0700 fsmap(e 9) from mon.0 v2:172.21.3.230:40412/0

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agoosdc/Objecter: convert to ms_dispatch2 for ack
Patrick Donnelly [Tue, 18 Feb 2025 18:46:58 +0000 (13:46 -0500)]
osdc/Objecter: convert to ms_dispatch2 for ack

Convert ms_dispatch to ms_dispatch2 to enable indicating that a map message is
acknowledged and instead of processed (or deliberately not processed).

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agoclient: indicate maps are acked not processed
Patrick Donnelly [Tue, 18 Feb 2025 18:45:22 +0000 (13:45 -0500)]
client: indicate maps are acked not processed

Ancillary change: do not do client upkeep after map processing.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agomsg: add alternate statuses for ms_dispatch2 handling
Patrick Donnelly [Tue, 18 Feb 2025 17:41:52 +0000 (12:41 -0500)]
msg: add alternate statuses for ms_dispatch2 handling

Many dispatchers return false to allow other dispatchers also common messages
like MOSDMap or MFSMap. They implicitly depend on some dispatcher which is
always at the "tail" of the dispatcher queue to return "true" indicating the
msg was processed to avoid messages like:

    2025-02-18T05:31:17.738+0000 7f5206546640  0 ms_deliver_dispatch: unhandled message 0x5632d05f0700 fsmap(e 9) from mon.0 v2:172.21.3.230:40412/0

but this cannot always happen when some libraries like the RadosClient used standalone.

So, add a variant for encapsulating other indications for how the message was
processed by dispatch2.  For example, a message may be "acknowledged" but
explicitly allow other dispatchers to try processing the message.

Note: we're using a variant to avoid updating all of the ms_dispatch code to
use the sentinel classes.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agotools/cephfs_mirror: do not process maps with fast dispatch
Patrick Donnelly [Tue, 18 Feb 2025 18:48:39 +0000 (13:48 -0500)]
tools/cephfs_mirror: do not process maps with fast dispatch

This acquires a lock which is a no-no in the messenger.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agodoc: add docs for volumes interface for charmap
Patrick Donnelly [Mon, 10 Feb 2025 17:22:49 +0000 (12:22 -0500)]
doc: add docs for volumes interface for charmap

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agoqa: add tests for subvolume charmap settings
Patrick Donnelly [Wed, 8 Jan 2025 19:45:01 +0000 (14:45 -0500)]
qa: add tests for subvolume charmap settings

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agopybind/mgr/volumes: wire up charmap for subvol/subvolgroup
Patrick Donnelly [Wed, 8 Jan 2025 14:51:32 +0000 (09:51 -0500)]
pybind/mgr/volumes: wire up charmap for subvol/subvolgroup

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agopybind/mgr: send MDS commands through cephfs client
Patrick Donnelly [Wed, 5 Feb 2025 16:22:08 +0000 (11:22 -0500)]
pybind/mgr: send MDS commands through cephfs client

To avoid linking to the CephFS client statically, use the dynamically-linked
`cephfs` module to send commands to the MDS.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agopybind/cephfs: wire up mds_command2
Patrick Donnelly [Wed, 5 Feb 2025 16:21:41 +0000 (11:21 -0500)]
pybind/cephfs: wire up mds_command2

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agomgr: add module method to send notifications
Patrick Donnelly [Wed, 5 Feb 2025 16:19:25 +0000 (11:19 -0500)]
mgr: add module method to send notifications

For use by MgrModule.send_command to signal MDS command completion.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agolibcephfs: add mds_command2 for asynchronous commands
Patrick Donnelly [Wed, 5 Feb 2025 16:18:34 +0000 (11:18 -0500)]
libcephfs: add mds_command2 for asynchronous commands

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agomgr: excise CephFS client from mgr C++ base
Patrick Donnelly [Thu, 30 Jan 2025 22:08:07 +0000 (17:08 -0500)]
mgr: excise CephFS client from mgr C++ base

Linking to the client causes two copies of the Client library to be linked in
the ceph-mgr when modules also dynamically link to libcephfs via the "cephfs"
python library. This creates problems with duplicate boost::locale.

Instead, modules should just use the "cephfs" library to send commands to the
MDS.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agomgr: use std namespace
Patrick Donnelly [Thu, 30 Jan 2025 22:05:25 +0000 (17:05 -0500)]
mgr: use std namespace

This C++ code was relying on the Client.h header to bring in these names from
the std:: namespace. A subsequent commit plans to remove that header so add
namespace qualifier now.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agodoc: add docs for CephFS charmap config
Patrick Donnelly [Tue, 31 Dec 2024 19:46:03 +0000 (14:46 -0500)]
doc: add docs for CephFS charmap config

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agoqa: add charmap tests
Patrick Donnelly [Tue, 31 Dec 2024 17:59:01 +0000 (12:59 -0500)]
qa: add charmap tests

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agoqa: add helpful exceptions for attr changes
Patrick Donnelly [Tue, 31 Dec 2024 17:57:53 +0000 (12:57 -0500)]
qa: add helpful exceptions for attr changes

It's not possible to extract the error message from stderr by the caller.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agoqa: ignore libicu leaks
Patrick Donnelly [Mon, 24 Feb 2025 20:56:54 +0000 (15:56 -0500)]
qa: ignore libicu leaks

These are likely spurious and not interesting.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agoclient: add wrappings for charmap manipuluation of dentry names
Patrick Donnelly [Wed, 19 Feb 2025 16:17:00 +0000 (11:17 -0500)]
client: add wrappings for charmap manipuluation of dentry names

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
4 months agoclient: add dir_result_t::dentry::print
Patrick Donnelly [Fri, 3 Jan 2025 21:14:05 +0000 (16:14 -0500)]
client: add dir_result_t::dentry::print

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agowin32: add libicu Windows build
Lucian Petrut [Thu, 9 Jan 2025 13:50:18 +0000 (08:50 -0500)]
win32: add libicu Windows build

cephfs introduces a new dependency: libicu. We need to update the
Windows build scripts to build and link against libicu.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
4 months agoCMakeLists: add boost::locale dependency for client
Patrick Donnelly [Tue, 31 Dec 2024 17:59:12 +0000 (12:59 -0500)]
CMakeLists: add boost::locale dependency for client

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agoinstall-deps: unconditionally install boost libraries
Patrick Donnelly [Wed, 8 Jan 2025 14:53:26 +0000 (09:53 -0500)]
install-deps: unconditionally install boost libraries

If we add a new Boost component, the install-deps.sh script will not install it
because other Boost libraries are installed with the desired version. Just
unconditionally install. The package manager is smart enough to skip already
installed packages.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agotest/libcephfs: update root operation return values
Patrick Donnelly [Wed, 19 Feb 2025 17:51:32 +0000 (12:51 -0500)]
test/libcephfs: update root operation return values

Switch from EBUSY to reasonable and normal errors for operations on the root
directory. Use the Client::path_walk machinery changes from the previous commit
to catch most of them, otherwise return EINVAL (which is normal for other POSIX
fs).

Fixes: 6ed7f2364ae5507bab14c60b582929aa7b0ba400
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agoclient: refactor all path traversals through path_walk
Patrick Donnelly [Thu, 14 Nov 2024 18:28:20 +0000 (13:28 -0500)]
client: refactor all path traversals through path_walk

This is groundwork to ensure that all code paths properly apply dentry name
transformations during traversal, specifically for casefolding.

Note some ancillary changes:

* readlink now correctly does lookup permission checks during path walk (previously a TODO).

* There has been some tweaking of the method signatures to accept an `const
  InodeRef&`. This was convenient when passing walk_dentry_result::diri around
  but the cascade in changes prompted me to leave it partially done to avoid
  blowing up this changeset.

It's worth noting that this change is somewhat "half done". I had made an
effort to have all operations (whether fuse or libcephfs) call path_walk once.
This was done for Client::_mkdir and a few others. See for example:

  - do_mkdirat -> _mkdir
  - mksnap -> _mkdir
  - ll_mkdir -> _mkdir
  - mkdirs -> _mkdir (this had other significant simplification/cleanup);
    however: note that we still have two calls to path_walk for any given
    directory to be created. This is not a problem because:

Client::path_walk is now more tolerant of being called in a openat-style way.
The method now accepts an anchor directory and relative path (which may be a
single dentry name for ll_* calls). It is also tolerant of the directory inode
in fact referencing the target inode with relative path == "". That is a useful
property for many openat-style APIs (although largely unofficially).  It also
means that if we resolve a path then we can pass the resolved Inode (directory)
/ string (Dentry name) pair to another method which may also call path_walk
with minimal replication of path walk work. This is done a few times in this
changeset.

Fixes: https://tracker.ceph.com/issues/66373
Fixes: https://tracker.ceph.com/issues/70100
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agotest/libcephfs: test parallel creates
Patrick Donnelly [Wed, 19 Feb 2025 20:28:46 +0000 (15:28 -0500)]
test/libcephfs: test parallel creates

That the cap_shared_gen value does not result in unexpected ENOENT.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agotest/libcephfs: add test for lookup failure after readdir
Patrick Donnelly [Mon, 24 Feb 2025 14:46:15 +0000 (09:46 -0500)]
test/libcephfs: add test for lookup failure after readdir

That we do not get unexpected ENOENT following readdirs (particularly thinking
of cap_shared_gen differences).

Test-case-for: https://tracker.ceph.com/issues/70100
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agoclient: init dentry shared_gen with invalid value
Patrick Donnelly [Wed, 19 Feb 2025 17:49:09 +0000 (12:49 -0500)]
client: init dentry shared_gen with invalid value

Directories and dentries are initialized with value 0 which makes detecting a
null  (or placeholder) dentry created via Client::get_or_create difficult.  We
already do checks to see if a dentry is invalid when the directory's shared_gen
changes so use an invalid value for these synthetic dentries until they can be
appropriately updated from Client::update_dentry_lease.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agoclient: add _lookup debugging
Patrick Donnelly [Wed, 19 Feb 2025 16:33:49 +0000 (11:33 -0500)]
client: add _lookup debugging

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agoclient: remove redundant check
Patrick Donnelly [Wed, 19 Feb 2025 16:32:06 +0000 (11:32 -0500)]
client: remove redundant check

This condition:

    (!dn->inode || dn->inode->caps_issued_mask(mask, true))

is already checked in the surrounding `if`.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agoclient: dump InodeStat from mds
Patrick Donnelly [Mon, 28 Oct 2024 20:19:25 +0000 (16:19 -0400)]
client: dump InodeStat from mds

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
4 months agomds: encode optmetadata in InodeStat sent to clients
Patrick Donnelly [Wed, 23 Oct 2024 18:00:35 +0000 (14:00 -0400)]
mds: encode optmetadata in InodeStat sent to clients

Deliberately do not dump the entire struct. Some metadata may not be
appropriate to share to clients.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
4 months agomds: check client features for charmap
Patrick Donnelly [Wed, 23 Oct 2024 18:49:49 +0000 (14:49 -0400)]
mds: check client features for charmap

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
4 months agomds: add client feature bit for charmap
Patrick Donnelly [Wed, 23 Oct 2024 17:54:46 +0000 (13:54 -0400)]
mds: add client feature bit for charmap

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
4 months agomds: wire up vxattr for changing charmap
Patrick Donnelly [Mon, 26 Aug 2024 16:22:35 +0000 (12:22 -0400)]
mds: wire up vxattr for changing charmap

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Fixes: https://tracker.ceph.com/issues/66373
4 months agomds: inherit charmap on mkdir
Patrick Donnelly [Wed, 23 Oct 2024 18:01:41 +0000 (14:01 -0400)]
mds: inherit charmap on mkdir

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
4 months agomds,include: add charmap optmetadata
Patrick Donnelly [Mon, 26 Aug 2024 16:22:13 +0000 (12:22 -0400)]
mds,include: add charmap optmetadata

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Fixes: https://tracker.ceph.com/issues/66373
4 months agomds,include: add inode_t optional metadata
Patrick Donnelly [Mon, 26 Aug 2024 16:21:10 +0000 (12:21 -0400)]
mds,include: add inode_t optional metadata

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Fixes: https://tracker.ceph.com/issues/66373
4 months agoclient: hide alternate_name from API
Patrick Donnelly [Tue, 10 Sep 2024 20:47:39 +0000 (16:47 -0400)]
client: hide alternate_name from API

The dentry alternate_name was exposed primarily to facilitate testing. Instead,
put these methods in the TestClient scaffolding to allow reading/manipulating
alternate_name.

Because we will be using alternate_name to handle encrypted names and the
normalized / case folded name, we do not want the application to change the
meaning of the metadata out-of-band.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
4 months agoclient: move alternate_name once
Patrick Donnelly [Thu, 12 Sep 2024 21:17:49 +0000 (17:17 -0400)]
client: move alternate_name once

Client::update_dentry_lease also moves alternate_name from the lease
which causes it to zero out alternate_name on the second move.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Fixes: https://tracker.ceph.com/issues/66373
4 months agoclient: optimize alternate_name passing to helper
Patrick Donnelly [Wed, 4 Sep 2024 20:12:25 +0000 (16:12 -0400)]
client: optimize alternate_name passing to helper

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Fixes: https://tracker.ceph.com/issues/66373
4 months agoclient: relocate definition
Patrick Donnelly [Thu, 12 Sep 2024 22:39:33 +0000 (18:39 -0400)]
client: relocate definition

It doesn't need to be public; the API does not expose alternate_name.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Fixes: https://tracker.ceph.com/issues/66373
4 months agoclient: print dentry with alternate_name on dump
Patrick Donnelly [Wed, 23 Oct 2024 16:32:55 +0000 (12:32 -0400)]
client: print dentry with alternate_name on dump

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
4 months agoclient: move inode dump to print method
Patrick Donnelly [Wed, 23 Oct 2024 16:32:05 +0000 (12:32 -0400)]
client: move inode dump to print method

There is no functional change.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
4 months agomds: add debugging for encoding lease stat
Patrick Donnelly [Wed, 23 Oct 2024 17:58:59 +0000 (13:58 -0400)]
mds: add debugging for encoding lease stat

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373