]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
3 months agodoc/radosgw: Improve layout.rst 62449/head
Anthony D'Atri [Tue, 18 Mar 2025 18:54:10 +0000 (14:54 -0400)]
doc/radosgw: Improve layout.rst

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
(cherry picked from commit a7e2fab008519416d5bd91f2163ea51e82c440af)

3 months agoMerge pull request #62443 from zdover23/wip-doc-2025-03-22-backport-62422-to-squid
Anthony D'Atri [Sat, 22 Mar 2025 14:54:28 +0000 (10:54 -0400)]
Merge pull request #62443 from zdover23/wip-doc-2025-03-22-backport-62422-to-squid

squid: doc/cephadm/services: Add mention of --zap for OSD removal

4 months agodoc/cephadm/services: Add mention of --zap for OSD removal 62443/head
Anthony D'Atri [Fri, 21 Mar 2025 21:59:02 +0000 (17:59 -0400)]
doc/cephadm/services: Add mention of --zap for OSD removal

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
(cherry picked from commit 20b621fceb865403e19e1d7876f81e670829ff59)

4 months agoMerge pull request #62427 from zdover23/wip-doc-2025-03-21-backport-62426-to-squid
Anthony D'Atri [Fri, 21 Mar 2025 16:07:33 +0000 (12:07 -0400)]
Merge pull request #62427 from zdover23/wip-doc-2025-03-21-backport-62426-to-squid

squid: doc/cephadm/services: Correct indentation in osd.rst

4 months agodoc/cephadm/services: Correct indentation in osd.rst 62427/head
Anthony D'Atri [Fri, 21 Mar 2025 03:29:57 +0000 (23:29 -0400)]
doc/cephadm/services: Correct indentation in osd.rst

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
(cherry picked from commit 7b5f73f4c17acc7cd0aab87db528e5232c8f05e1)

4 months agoMerge pull request #61832 from idryomov/wip-69911-squid
Yuri Weinstein [Thu, 20 Mar 2025 22:37:59 +0000 (15:37 -0700)]
Merge pull request #61832 from idryomov/wip-69911-squid

squid: librbd: fix mirror image status summary in a namespace

Reviewed-by: Vinay Bhaskar Varada <vvarada@redhat.com>
4 months agoMerge pull request #62131 from cbodley/wip-70312-squid
Casey Bodley [Thu, 20 Mar 2025 18:14:47 +0000 (14:14 -0400)]
Merge pull request #62131 from cbodley/wip-70312-squid

squid: rgw: /admin/account APIs accept negative values

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
4 months agoMerge pull request #60980 from cbodley/wip-69145-squid
Yuri Weinstein [Thu, 20 Mar 2025 14:36:53 +0000 (07:36 -0700)]
Merge pull request #60980 from cbodley/wip-69145-squid

squid: radosgw-admin: 'user create' rejects uids matching the account id format

Reviewed-by: Adam Emerson <aemerson@redhat.com>
4 months agoMerge pull request #60979 from cbodley/wip-69146-squid
Yuri Weinstein [Thu, 20 Mar 2025 14:35:58 +0000 (07:35 -0700)]
Merge pull request #60979 from cbodley/wip-69146-squid

squid: radosgw-admin: allow 'sync group pipe modify' with existing user

Reviewed-by: Adam Emerson <aemerson@redhat.com>
4 months agoMerge pull request #60952 from igomon-bloomberg/wip-65912-squid
Yuri Weinstein [Thu, 20 Mar 2025 14:34:17 +0000 (07:34 -0700)]
Merge pull request #60952 from igomon-bloomberg/wip-65912-squid

squid: rgw/s3-notifications: use user-name/password topic attributes for SASL authentication

Reviewed-by: Yuval Lifshitz <ylifshit@redhat.com>
4 months agoMerge pull request #60783 from jzhu116-bloomberg/wip-68983-squid
Yuri Weinstein [Thu, 20 Mar 2025 14:33:22 +0000 (07:33 -0700)]
Merge pull request #60783 from jzhu116-bloomberg/wip-68983-squid

squid: rgw/lc: delete expired delete-marker when processing Expiration lc action with Days specified

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
4 months agoMerge pull request #62154 from cbodley/wip-70340-squid
Casey Bodley [Thu, 20 Mar 2025 13:24:33 +0000 (09:24 -0400)]
Merge pull request #62154 from cbodley/wip-70340-squid

squid: rgw: use object ARN for InitMultipart permissions

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
4 months agoMerge pull request #62404 from zdover23/wip-doc-2025-03-20-backport-62394-to-squid
Zac Dover [Thu, 20 Mar 2025 12:07:35 +0000 (22:07 +1000)]
Merge pull request #62404 from zdover23/wip-doc-2025-03-20-backport-62394-to-squid

squid: doc/radosgw /notifications: fix topic details

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
4 months agodoc/radosgw /notifications: fix topic details 62404/head
Laimis Juzeliūnas [Wed, 19 Mar 2025 12:33:04 +0000 (14:33 +0200)]
doc/radosgw /notifications: fix topic details

This commit fixes documentation about many-to-many topic relationship for notifications. The current sentence states the same fact twice instead of clarifying.

Fixes: https://tracker.ceph.com/issues/64956
Signed-off-by: Laimis Juzeliunas <laimis.juzeliunas@oxylabs.io>
(cherry picked from commit 058b95abe62893c5c13f02cdf7dd438b0a95a128)

4 months agoMerge pull request #62137 from adamemerson/wip-68836-squid
Yuri Weinstein [Wed, 19 Mar 2025 23:32:52 +0000 (16:32 -0700)]
Merge pull request #62137 from adamemerson/wip-68836-squid

[CVE-2024-48916] rgw/sts: fix to disallow unsupported JWT algorithms

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 months agoMerge pull request #62134 from kchheda3/wip-70311-squid
Yuri Weinstein [Wed, 19 Mar 2025 23:31:39 +0000 (16:31 -0700)]
Merge pull request #62134 from kchheda3/wip-70311-squid

squid: rgw/log: Fix crash during shutdown with ops-log enable.

Reviewed-by: Adam Emerson <aemerson@redhat.com>
4 months agoMerge pull request #62093 from cbodley/wip-70264-squid
Yuri Weinstein [Wed, 19 Mar 2025 23:29:06 +0000 (16:29 -0700)]
Merge pull request #62093 from cbodley/wip-70264-squid

squid: rgw/rados: enable object deletion at rados pool quota

Reviewed-by: Adam Emerson <aemerson@redhat.com>
4 months agoMerge pull request #62064 from cbodley/wip-70239-squid
Yuri Weinstein [Wed, 19 Mar 2025 23:28:11 +0000 (16:28 -0700)]
Merge pull request #62064 from cbodley/wip-70239-squid

squid: rgw: PutObjectLockConfiguration can enable object lock on existing buckets

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
4 months agoMerge pull request #62033 from cbodley/wip-70207-squid
Yuri Weinstein [Wed, 19 Mar 2025 23:27:26 +0000 (16:27 -0700)]
Merge pull request #62033 from cbodley/wip-70207-squid

squid: qa/rgw: configure 'iam root' accounts outside of rgw/verify

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
4 months agoMerge pull request #62340 from phlogistonjohn/wip-70507-squid
Adam King [Wed, 19 Mar 2025 18:04:24 +0000 (14:04 -0400)]
Merge pull request #62340 from phlogistonjohn/wip-70507-squid

squid: build-with-container: two small fixes

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Dan Mick <dan.mick@redhat.com>
4 months agoMerge pull request #62379 from zdover23/wip-doc-2025-03-19-backport-62367-to-squid
Anthony D'Atri [Wed, 19 Mar 2025 14:11:50 +0000 (10:11 -0400)]
Merge pull request #62379 from zdover23/wip-doc-2025-03-19-backport-62367-to-squid

squid: doc/cephadm: Add PG autoscaler advice to upgrade.rst

4 months agoMerge PR #62095 into squid
Patrick Donnelly [Wed, 19 Mar 2025 11:59:23 +0000 (07:59 -0400)]
Merge PR #62095 into squid

* refs/pull/62095/head:
include/cephfs: dump optmetadata
mds: set alternate_name for new fullbit dentries
qa: test alternate_name recovery during mds failover
client: avoid multiple calls to path_walk
libcephfs: getcwd after chdir for API constraint
client: unwrap dentries for getcwd
client: refactor / optimize chdir
test/libcephfs: test getcwd with case insensitive dir
test/libcephfs: refactor ManyNestedDirs
include/filepath: add iterators for components
cmake/cephfs: fix options to enable client and dependencies
pybind/cephfs: use legacy noexcept for cdefs for cython 3.Y.Z
pybind/cephfs: increment ref before calling out to c++
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
python-common: add a utils function to replace distutils.util.strtobool

Reviewed-by: Anthony D Atri <anthony.datri@gmail.com>
4 months agoMerge pull request #62384 from aaSharma14/wip-70546-squid
Aashish Sharma [Wed, 19 Mar 2025 11:56:00 +0000 (17:26 +0530)]
Merge pull request #62384 from aaSharma14/wip-70546-squid

squid: mgr/dashboard: Changing SimpleGraphPanel to TimeSeries Panel in pool.libsonnet to fix inconsistency in Line Graphs

Reviewed-by: Afreen Misbah <afreen@ibm.com>
4 months agoMerge pull request #62383 from aaSharma14/wip-70548-squid
Aashish Sharma [Wed, 19 Mar 2025 11:55:40 +0000 (17:25 +0530)]
Merge pull request #62383 from aaSharma14/wip-70548-squid

squid: mgr/dashboard: Changing SimpleGraphPanel to TimeSeries Panel in osd.libsonnet to fix inconsistency in Line Graphs

Reviewed-by: Afreen Misbah <afreen@ibm.com>
4 months agoMerge pull request #62382 from aaSharma14/wip-70547-squid
Aashish Sharma [Wed, 19 Mar 2025 11:55:19 +0000 (17:25 +0530)]
Merge pull request #62382 from aaSharma14/wip-70547-squid

squid: mgr/dashboard: Changing SimpleGraphPanel to TimeSeries Panel in host.libsonnet to fix inconsistency in Line Graphs

Reviewed-by: Afreen Misbah <afreen@ibm.com>
4 months agoMerge pull request #62381 from aaSharma14/wip-70549-squid
Aashish Sharma [Wed, 19 Mar 2025 11:54:57 +0000 (17:24 +0530)]
Merge pull request #62381 from aaSharma14/wip-70549-squid

squid: mgr/dashboard: Changing SimpleGraphPanel to TimeSeries Panel in cephfs.libsonnet to fix inconsistency in Line Graphs

Reviewed-by: Afreen Misbah <afreen@ibm.com>
4 months agomgr/dashboard: Changing SimpleGraphPanel to TimeSeries Panel in pool.libsonnet 62384/head
Piyush Agarwal [Wed, 22 Jan 2025 05:21:58 +0000 (10:51 +0530)]
mgr/dashboard: Changing SimpleGraphPanel to TimeSeries Panel in pool.libsonnet

Fixes:- https://tracker.ceph.com/issues/70229
Signed-off-by: Piyush Agarwal <piyushagarwal14.pa@gmail.com>
(cherry picked from commit 09807250719b566c3c20fe57d2f323eb81b38ee5)

4 months agomgr/dashboard: Changing SimpleGraphPanel to TimeSeries Panel in osd.libsonnet 62383/head
Piyush Agarwal [Tue, 21 Jan 2025 23:46:03 +0000 (05:16 +0530)]
mgr/dashboard: Changing SimpleGraphPanel to TimeSeries Panel in osd.libsonnet

Fixes:- https://tracker.ceph.com/issues/70227
Signed-off-by: Piyush Agarwal <piyushagarwal14.pa@gmail.com>
(cherry picked from commit 171954e7dd677d1b73db65555736d82cefefc62e)

4 months agomgr/dashboard: Changing SimpleGraphPanel to TimeSeries Panel in host.libsonnet 62382/head
Piyush Agarwal [Tue, 21 Jan 2025 08:32:51 +0000 (14:02 +0530)]
mgr/dashboard: Changing SimpleGraphPanel to TimeSeries Panel in host.libsonnet

Fixes:- https://tracker.ceph.com/issues/70228
Signed-off-by: Piyush Agarwal <piyushagarwal14.pa@gmail.com>
(cherry picked from commit f155abe51879f219b2dc944851ef1bc5f4577fe9)

4 months agomgr/dashboard: Changing SimpleGraphPanel to TimeSeries Panel in cephfs.libsonnet 62381/head
Piyush Agarwal [Thu, 2 Jan 2025 08:52:03 +0000 (14:22 +0530)]
mgr/dashboard: Changing SimpleGraphPanel to TimeSeries Panel in cephfs.libsonnet

Tracker:- https://tracker.ceph.com/issues/69404
Signed-off-by: Piyush Agarwal <piyushagarwal14.pa@gmail.com>
(cherry picked from commit 1772dc1cdf0a5fd47bf4954c343b18f70d357304)

4 months agodoc/cephadm: Add PG autoscaler advice to upgrade.rst 62379/head
Anthony D'Atri [Tue, 18 Mar 2025 19:35:34 +0000 (15:35 -0400)]
doc/cephadm: Add PG autoscaler advice to upgrade.rst

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
(cherry picked from commit ee69f52193996d528410a71c2c67fc27b47dee31)

4 months agoMerge pull request #62353 from aaSharma14/wip-70524-squid
Aashish Sharma [Wed, 19 Mar 2025 05:52:18 +0000 (11:22 +0530)]
Merge pull request #62353 from aaSharma14/wip-70524-squid

squid: mgr/dashboard: When configuring the RGW Multisite endpoints from the UI allow FQDN(Not only IP)

Reviewed-by: Naman Munet <naman.munet@ibm.com>
4 months agoMerge pull request #62375 from zdover23/wip-doc-2025-03-19-backport-62371-to-squid
Zac Dover [Wed, 19 Mar 2025 05:30:43 +0000 (15:30 +1000)]
Merge pull request #62375 from zdover23/wip-doc-2025-03-19-backport-62371-to-squid

squid: doc/dev/developer_guide/essentials: update mailing lists

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
4 months agodoc/dev/developer_guide/essentials: update mailing lists 62375/head
Laimis Juzeliūnas [Tue, 18 Mar 2025 22:24:50 +0000 (00:24 +0200)]
doc/dev/developer_guide/essentials: update mailing lists

Update information for subscribing to Ceph development mailing lists as current documentation is outdated.

Fixes: https://tracker.ceph.com/issues/64580
Signed-off-by: Laimis Juzeliunas <laimis.juzeliunas@oxylabs.io>
(cherry picked from commit e7bf607269335ac40d91cb4b8f265064ffaac402)

4 months agoMerge pull request #61891 from k0ste/wip-70067-squid
Adam Kupczyk [Tue, 18 Mar 2025 12:35:42 +0000 (13:35 +0100)]
Merge pull request #61891 from k0ste/wip-70067-squid

squid: os/bluestore: fix the problem that _estimate_log_size_N calculates the log size incorrectly

4 months agomgr/dashboard: When configuring the RGW Multisite endpoints from the UI allow FQDN... 62353/head
Aashish Sharma [Tue, 26 Nov 2024 09:56:38 +0000 (15:26 +0530)]
mgr/dashboard: When configuring the RGW Multisite endpoints from the UI allow FQDN(Not only IP)

When configuring the RGW Multisite endpoints from the UI allow FQDN, at the moment when using a FQDN it's not allowed

Fixes: https://tracker.ceph.com/issues/69055
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
(cherry picked from commit 9f3619af9ae911955916195084d225928d4b2f43)

 Conflicts:
src/pybind/mgr/dashboard/frontend/package-lock.json (conflicts
with typescript package version, kept the existing one)
src/pybind/mgr/dashboard/frontend/package.json (conflicts with
typescript package version, kept the existing one)
src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-multisite-migrate/rgw-multisite-migrate.component.ts (conflicts with automated system user creation in main)
src/pybind/mgr/dashboard/frontend/src/app/shared/forms/cd-validators.ts (conflicts with oauthAddressTest validator)

4 months agoinclude/cephfs: dump optmetadata 62095/head
Patrick Donnelly [Tue, 11 Mar 2025 19:03:59 +0000 (15:03 -0400)]
include/cephfs: dump optmetadata

For inspection from `dump tree` MDS command.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
(cherry picked from commit 7ad1937547d0fe8c5302cd822d6cad57bdc6140f)

4 months agomds: set alternate_name for new fullbit dentries
Patrick Donnelly [Tue, 11 Mar 2025 19:01:46 +0000 (15:01 -0400)]
mds: set alternate_name for new fullbit dentries

Fixes: 9fbf37ade38bc1d057eda2459b0ccfd2ab40626a
Fixes: https://tracker.ceph.com/issues/70409
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
(cherry picked from commit 5fc94be121f8f99d0d46a2e7b41a05a9956e2fce)

Conflicts:
src/mds/journal.cc: code movement caused by referent inode changeset

4 months agoqa: test alternate_name recovery during mds failover
Patrick Donnelly [Tue, 11 Mar 2025 19:18:03 +0000 (15:18 -0400)]
qa: test alternate_name recovery during mds failover

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

4 months agoclient: avoid multiple calls to path_walk
Patrick Donnelly [Tue, 11 Mar 2025 14:28:01 +0000 (10:28 -0400)]
client: avoid multiple calls to path_walk

When we wrap a dname after a path walk, we cannot do another path walk.
Originally this method was setup to permit that but with (upcoming) encryption
it cannot work. The dname from the path_walk is in the encrypted namespace so
we cannot do another lookup in a second path_walk.

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

4 months agolibcephfs: getcwd after chdir for API constraint
Patrick Donnelly [Wed, 12 Mar 2025 14:33:02 +0000 (10:33 -0400)]
libcephfs: getcwd after chdir for API constraint

libcephfs semantics require that the old path to the cwd be returned when
getcwd is encounters an unlinked directory in the current working directory.

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

4 months agoclient: unwrap dentries for getcwd
Patrick Donnelly [Tue, 11 Mar 2025 14:51:38 +0000 (10:51 -0400)]
client: unwrap dentries for getcwd

This was missed in the path_walk refactor. readdir is not the only way to "get"
dentry names.

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

4 months agoclient: refactor / optimize chdir
Patrick Donnelly [Tue, 11 Mar 2025 14:49:50 +0000 (10:49 -0400)]
client: refactor / optimize chdir

In particular: there's no reason to do a getcwd after chdir.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
(cherry picked from commit 3bfd614a358dc664469f8d5f56e9248818495bb2)

4 months agotest/libcephfs: test getcwd with case insensitive dir
Patrick Donnelly [Tue, 11 Mar 2025 16:13:33 +0000 (12:13 -0400)]
test/libcephfs: test getcwd with case insensitive dir

Unfortunately, it's not easy to refactor this test into a shared method without
setting up an explicit test class which has been avoided up to this point. So
I'm going to just copy the code. Sorry.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
(cherry picked from commit 28bdb8e565f0b6b3090808f4759c70693d92eb05)

4 months agotest/libcephfs: refactor ManyNestedDirs
Patrick Donnelly [Tue, 11 Mar 2025 14:53:02 +0000 (10:53 -0400)]
test/libcephfs: refactor ManyNestedDirs

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

4 months agoinclude/filepath: add iterators for components
Patrick Donnelly [Tue, 11 Mar 2025 14:50:50 +0000 (10:50 -0400)]
include/filepath: add iterators for components

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

4 months agocmake/cephfs: fix options to enable client and dependencies
Casey Bodley [Wed, 5 Mar 2025 18:22:38 +0000 (13:22 -0500)]
cmake/cephfs: fix options to enable client and dependencies

invoking cmake with -DWITH_LIBCEPHFS=OFF fails to configure the client target:

CMake Error at src/client/CMakeLists.txt:13 (target_link_libraries):
  Target "client" links to:

    Boost::locale

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

because the client target is not conditional on WITH_LIBCEPHFS in src/CMakeLists.txt:

add_subdirectory(client)

if(WITH_LIBCEPHFS)

because client is also needed for ceph-fuse, make the client and its
dependencies depend on WITH_LIBCEPHFS OR WITH_FUSE

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 70eb1d64ac1ea6e7202d42571f83c34d3758ad8f)

4 months agopybind/cephfs: use legacy noexcept for cdefs for cython 3.Y.Z
Patrick Donnelly [Tue, 4 Mar 2025 14:45:23 +0000 (09:45 -0500)]
pybind/cephfs: use legacy noexcept for cdefs for cython 3.Y.Z

For some newer versions of cython, it appears it requires explicitly specifying
noexcept but old versions of Cython 0.29.Z do not understand that attribute.

See: https://cython.readthedocs.io/en/latest/src/userguide/migrating_to_cy30.html#exception-values-and-noexcept

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
(cherry picked from commit 90ac7409279d103f8811cf31f3a530d8fff7ba12)

4 months agopybind/cephfs: increment ref before calling out to c++
Patrick Donnelly [Wed, 5 Mar 2025 16:15:20 +0000 (11:15 -0500)]
pybind/cephfs: increment ref before calling out to c++

At the time this construction seemed safe since the caller should have a
reference but it could conveivably be the only ref. We don't want the ref count
to reach 0.

Additionally, catch errors so this callback is genuinely noexcept.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
(cherry picked from commit 395263ceb2f351d540359f52694b48b2824e1291)

4 months agoclient: skip unexpected command replies
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>
(cherry picked from commit 616fdd1ae394195a2628fef6f6808e035b71069d)

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>
(cherry picked from commit 56cb05775a937159ee0e6e26e30fe204accb5223)

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>
(cherry picked from commit f060ee867f5423fd040f658877ad7ef9f57e9ba6)

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>
(cherry picked from commit 2810ed0f60833d1c1806d2c84db3116b11f72e37)

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>
(cherry picked from commit c9d0913f53b0c4d632746075c05c2f2187d77c02)

Conflicts:
src/nvmeof/NVMeofGwMonitorClient.cc: not present in squid
src/nvmeof/NVMeofGwMonitorClient.h: not present in squid

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>
(cherry picked from commit 3b79bdbee04c270c227be3dd1cb6dfe392646f8d)

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>
(cherry picked from commit 404d7e3278119149660d8aa1a12bac6ce6396118)

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>
(cherry picked from commit 71c57121cf62b2b8b576e5d21bb71bdbccb6960d)

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>
(cherry picked from commit a6eeec80d77366fef71f1e13c037a3095823cbf5)

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>
(cherry picked from commit f7329814c917f290df54807d16a31b3108223b9f)

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>
(cherry picked from commit 72d0a76e8c5cbb357e4f4c355e8630ec8aa02088)

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>
(cherry picked from commit b3ec7385ab2755fa3fa98ab98ed03257c93d315c)

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>
(cherry picked from commit 62601ef64202a3514cd805936535671eee836448)

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>
(cherry picked from commit f20df2eb8545f2a4fc16acdde5edcb611868522e)

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>
(cherry picked from commit 706b2be416246dd5923478d8a7ee015246f03e95)

Conflicts:
src/mgr/DaemonServer.h: no header cleanup

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>
(cherry picked from commit d862d74a0988d7d29ea5f00b036625c84bb0318a)

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>
(cherry picked from commit 84bf1898be53dcb6a088b6231c7a845ea4981dca)

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>
(cherry picked from commit 6f76b22c9b06f4e8cfd9edcd3495f2221693f99c)

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>
(cherry picked from commit 0e9cdbe0abc839426b73f379efff26f6adb31105)

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
(cherry picked from commit 751cf313dd5ca822c7c18ca8896ffde214605325)

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>
(cherry picked from commit 0fa4a95eadf5faf4d7ff566bc314902b48cafe85)

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>
(cherry picked from commit e80d0bf0079fc61630852f3047eebfcf1ae428f5)

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>
(cherry picked from commit db58a29a53833c0a8bb8db7c494b92baee220fbe)

Conflicts:
src/client/CMakeLists.txt: no legacy headers

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>
(cherry picked from commit 668a556322d8767b3e9e82230f099bcd9211f576)

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>
(cherry picked from commit 292f5ac45b8190223e97b3f9ae5904605de7a888)

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>
(cherry picked from commit b8662fdb03373ed6d29c47efa94cd391a7c9e740)

Conflicts:
src/client/Client.cc: minor code differences

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>
(cherry picked from commit aaaa04264a02e6e89ca5721cad048c41ad3e1111)

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>
(cherry picked from commit 0f2abc9bc9390de3951e2494b5ed41ca9111cc50)

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>
(cherry picked from commit 4f8d1d38a38d44ec9984912effdb9d166128ccb1)

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>
(cherry picked from commit bac86c20d0e92a9aec5dc758f2dade35b02777b1)

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>
(cherry picked from commit 41a3f099516ae609a0dbb9c2c020f9523adbc26a)

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
(cherry picked from commit 764208ead49cd4f63a518547cedecdb6b7e45aad)

Conflicts:
src/client/Client.cc: trivial code change

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
(cherry picked from commit 6c891f96aaef5be7bc90b166d5a728516370349b)

Conflicts:
src/mds/CInode.cc: no tuple encoding

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
(cherry picked from commit 9bbfdadd1f590fdea2fa055906f9184c7f81d676)

Conflicts:
src/mds/Server.cc: trivial comment change

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
(cherry picked from commit 4ac9776adbd722c45094dcb6b2f4bb4b975c79b0)

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
(cherry picked from commit 9f0c4227261e4fc76b6019f78d726fb179ba23d2)

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
(cherry picked from commit 033d8666373f239b18d52f3fd8c350148ba4f4a1)

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
(cherry picked from commit 1ffaa3614542580c578581d57e396170054e68bd)

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
(cherry picked from commit d958bcb73c64a11cd0c6e81d63945ec20bdf30b5)

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
(cherry picked from commit 1e34963af11210ebd940e20219728b91031e720f)

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
(cherry picked from commit 9c276fd9b63072ce11864e310c0206d3424e1bcc)

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
(cherry picked from commit f346e9a2caba9b3bf0b7a76a9653941eb402ccf4)

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
(cherry picked from commit 45ff4994f250e56fc720ce5e97ed72d0d0c3cc3d)

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
(cherry picked from commit 5c0fa1128c446a4737347dfaa100e802f3ff7ebe)

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
(cherry picked from commit c2e551260cc6f88000cfcbb25d3ed3a57b029b7e)

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
(cherry picked from commit de8ceffe2b6bf07deabdcb19b19d8495e31b0886)

4 months agomds: make encode_lease a proper method
Patrick Donnelly [Wed, 23 Oct 2024 17:56:06 +0000 (13:56 -0400)]
mds: make encode_lease a proper method

So we can print debugging.

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

4 months agomds: add fscrypt metadata for inode stat size
Patrick Donnelly [Wed, 23 Oct 2024 17:59:57 +0000 (13:59 -0400)]
mds: add fscrypt metadata for inode stat size

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
(cherry picked from commit 59405d4da16d705ac8e509232cb986386e8ad551)

4 months agoclient: use DentryRef for ref counting in MetaRequest
Patrick Donnelly [Thu, 31 Oct 2024 00:38:36 +0000 (20:38 -0400)]
client: use DentryRef for ref counting in MetaRequest

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

4 months agoclient: add DentryRef
Patrick Donnelly [Thu, 31 Oct 2024 00:39:32 +0000 (20:39 -0400)]
client: add DentryRef

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
(cherry picked from commit 3c3d56fbbad08af536c293217377b6b50f755287)

4 months agoclient: add helper for determining if a perm check is necessary
Patrick Donnelly [Thu, 14 Nov 2024 17:36:14 +0000 (12:36 -0500)]
client: add helper for determining if a perm check is necessary

To be used in subsequent commits.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
(cherry picked from commit 5f53a239a44deb60b81ab83b48e9ae3bc5b7e504)