From d73e904d65a1f7d98633b07abf74fc8bcd658d8a Mon Sep 17 00:00:00 2001 From: Venky Shankar Date: Thu, 20 Mar 2025 13:27:08 +0000 Subject: [PATCH] mds: introduce BLOCKDIFF feature bit Fixes: http://tracker.ceph.com/issues/70584 Signed-off-by: Venky Shankar (cherry picked from commit 16918487d6c1d2fc548b22668fc227435ac9ec6d) --- src/client/Client.cc | 2 +- src/mds/cephfs_features.cc | 1 + src/mds/cephfs_features.h | 6 ++++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/client/Client.cc b/src/client/Client.cc index e199c383601..d4f80c329e9 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -9968,7 +9968,7 @@ int Client::file_blockdiff(struct scan_state_t *state, const UserPerm &perms, cct->_conf.get_val("client_file_blockdiff_max_concurrent_object_scans"); bufferlist bl; - r = make_request(req, perms, nullptr, nullptr, -1, &bl); + r = make_request(req, perms, nullptr, nullptr, -1, &bl, CEPHFS_FEATURE_BLOCKDIFF); ldout(cct, 10) << __func__ << ": result=" << r << dendl; if (r < 0) { diff --git a/src/mds/cephfs_features.cc b/src/mds/cephfs_features.cc index 0ef321bf694..f4ba7b12729 100644 --- a/src/mds/cephfs_features.cc +++ b/src/mds/cephfs_features.cc @@ -32,6 +32,7 @@ static const std::array feature_names "has_owner_uidgid", "client_mds_auth_caps", "charmap", + "blockdiff" }; static_assert(feature_names.size() == CEPHFS_FEATURE_MAX + 1); diff --git a/src/mds/cephfs_features.h b/src/mds/cephfs_features.h index 5ddf2cedeaa..3d36e65ec39 100644 --- a/src/mds/cephfs_features.h +++ b/src/mds/cephfs_features.h @@ -50,7 +50,8 @@ namespace ceph { #define CEPHFS_FEATURE_HAS_OWNER_UIDGID 20 #define CEPHFS_FEATURE_MDS_AUTH_CAPS_CHECK 21 #define CEPHFS_FEATURE_CHARMAP 22 -#define CEPHFS_FEATURE_MAX 22 +#define CEPHFS_FEATURE_BLOCKDIFF 23 +#define CEPHFS_FEATURE_MAX 23 #define CEPHFS_FEATURES_ALL { \ 0, 1, 2, 3, 4, \ @@ -73,7 +74,8 @@ namespace ceph { CEPHFS_FEATURE_NEW_SNAPREALM_INFO, \ CEPHFS_FEATURE_HAS_OWNER_UIDGID, \ CEPHFS_FEATURE_MDS_AUTH_CAPS_CHECK, \ - CEPHFS_FEATURE_CHARMAP, \ + CEPHFS_FEATURE_CHARMAP, \ + CEPHFS_FEATURE_BLOCKDIFF, \ } #define CEPHFS_METRIC_FEATURES_ALL { \ -- 2.39.5