]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/osd: implement cls_get_client_features().
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Thu, 29 Aug 2019 14:32:44 +0000 (16:32 +0200)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Fri, 13 Sep 2019 20:12:32 +0000 (22:12 +0200)
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/crimson/osd/objclass.cc

index 517505c60f299e436e56d376afe73d5182eed479..f191013a46a2c4a750d7c97d41249e88c2297804 100644 (file)
@@ -444,7 +444,13 @@ uint64_t cls_get_features(cls_method_context_t hctx)
 
 uint64_t cls_get_client_features(cls_method_context_t hctx)
 {
-  return 0;
+  try {
+    const auto& message = \
+      reinterpret_cast<ceph::osd::OpsExecuter*>(hctx)->get_message();
+    return message.get_features();
+  } catch (ceph::osd::error& e) {
+    return -e.code().value();
+  }
 }
 
 ceph_release_t cls_get_required_osd_release(cls_method_context_t hctx)