]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: introduce BLOCKDIFF feature bit
authorVenky Shankar <vshankar@redhat.com>
Thu, 20 Mar 2025 13:27:08 +0000 (13:27 +0000)
committerVenky Shankar <vshankar@redhat.com>
Wed, 4 Jun 2025 14:52:56 +0000 (20:22 +0530)
Fixes: http://tracker.ceph.com/issues/70584
Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit 16918487d6c1d2fc548b22668fc227435ac9ec6d)

src/client/Client.cc
src/mds/cephfs_features.cc
src/mds/cephfs_features.h

index e199c3836019d8ee6bdb3fcfb0338b3a6adf360a..d4f80c329e927a9f3bbc596aa7d98ad14bdfc578 100644 (file)
@@ -9968,7 +9968,7 @@ int Client::file_blockdiff(struct scan_state_t *state, const UserPerm &perms,
     cct->_conf.get_val<uint64_t>("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) {
index 0ef321bf694d3e746e7ad812fc2ff268120619ce..f4ba7b12729c4f16cc9ba0f669ac0fc4b47e0a24 100644 (file)
@@ -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);
 
index 5ddf2cedeaa18d09dfff16c8391b0520e45ff869..3d36e65ec39519bd1fbf0d528f37a7d59213933c 100644 (file)
@@ -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 {           \