summaryrefslogtreecommitdiffstats
path: root/src/client
diff options
context:
space:
mode:
Diffstat (limited to 'src/client')
-rw-r--r--src/client/Client.cc8
-rw-r--r--src/client/Client.h2
2 files changed, 9 insertions, 1 deletions
diff --git a/src/client/Client.cc b/src/client/Client.cc
index ba41e9dd0..ec97e36fb 100644
--- a/src/client/Client.cc
+++ b/src/client/Client.cc
@@ -392,6 +392,12 @@ Client::Client(Messenger *m, MonClient *mc, Objecter *objecter_)
if (cct->_conf->client_acl_type == "posix_acl")
acl_type = POSIX_ACL;
+ if (auto str = cct->_conf->client_debug_inject_features; !str.empty()) {
+ myfeatures = feature_bitset_t(str);
+ } else {
+ myfeatures = feature_bitset_t(CEPHFS_FEATURES_CLIENT_SUPPORTED);
+ }
+
lru.lru_set_midpoint(cct->_conf->client_cache_mid);
// file handles
@@ -2354,7 +2360,7 @@ MetaSessionRef Client::_open_mds_session(mds_rank_t mds)
auto m = make_message<MClientSession>(CEPH_SESSION_REQUEST_OPEN);
m->metadata = metadata;
- m->supported_features = feature_bitset_t(CEPHFS_FEATURES_CLIENT_SUPPORTED);
+ m->supported_features = myfeatures;
m->metric_spec = feature_bitset_t(CEPHFS_METRIC_FEATURES_ALL);
session->con->send_message2(std::move(m));
return session;
diff --git a/src/client/Client.h b/src/client/Client.h
index beeef0803..dc9e31aa8 100644
--- a/src/client/Client.h
+++ b/src/client/Client.h
@@ -1639,6 +1639,8 @@ private:
uint64_t nr_write_request = 0;
std::vector<MDSCapAuth> cap_auths;
+
+ feature_bitset_t myfeatures;
};
/**