]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
objclass: expose client features to cls ops
authorSage Weil <sage@redhat.com>
Thu, 22 Sep 2016 16:37:29 +0000 (12:37 -0400)
committerSage Weil <sage@redhat.com>
Tue, 18 Oct 2016 20:40:12 +0000 (16:40 -0400)
Signed-off-by: Sage Weil <sage@redhat.com>
src/objclass/class_api.cc
src/objclass/objclass.h
src/test/librados_test_stub/LibradosTestStub.cc

index f1a3522bc91de77156727295e9fbbd427f46e821..1fae9242cab1c3fd1445ac8f40db09549ecca1ae 100644 (file)
@@ -680,6 +680,12 @@ uint64_t cls_get_features(cls_method_context_t hctx)
   return ctx->pg->get_osdmap()->get_up_osd_features();
 }
 
+uint64_t cls_get_client_features(cls_method_context_t hctx)
+{
+  ReplicatedPG::OpContext *ctx = *(ReplicatedPG::OpContext **)hctx;
+  return ctx->op->get_req()->get_connection()->get_features();
+}
+
 void cls_cxx_subop_version(cls_method_context_t hctx, string *s)
 {
   if (!s)
index 17db742e8d095d6b64c81a6081f30782e0fa434f..f6eac06109f0fde783a58ea3e659401ac1459335 100644 (file)
@@ -194,6 +194,7 @@ extern int cls_gen_rand_base64(char *dest, int size); /* size should be the requ
 extern uint64_t cls_current_version(cls_method_context_t hctx);
 extern int cls_current_subop_num(cls_method_context_t hctx);
 extern uint64_t cls_get_features(cls_method_context_t hctx);
+extern uint64_t cls_get_client_features(cls_method_context_t hctx);
 
 /* helpers */
 extern void cls_cxx_subop_version(cls_method_context_t hctx, string *s);
index 734ebaa4325fdb139aa77e7799792415bbf9ce1e..e996adc71eb45112728cbbd20fc84214604fee08 100644 (file)
@@ -1187,6 +1187,10 @@ uint64_t cls_get_features(cls_method_context_t hctx) {
   return CEPH_FEATURES_SUPPORTED_DEFAULT;
 }
 
+uint64_t cls_get_client_features(cls_method_context_t hctx) {
+  return CEPH_FEATURES_SUPPORTED_DEFAULT;
+}
+
 int cls_log(int level, const char *format, ...) {
   int size = 256;
   va_list ap;