]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
cls/otp: client api to set multiple keys
authorYehuda Sadeh <yehuda@redhat.com>
Wed, 22 Nov 2017 23:49:32 +0000 (15:49 -0800)
committerYehuda Sadeh <yehuda@redhat.com>
Mon, 9 Apr 2018 14:01:02 +0000 (07:01 -0700)
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
src/cls/otp/cls_otp_client.cc
src/cls/otp/cls_otp_client.h

index 484b10310f0dfcd1759188a55ee28513e73ca3a5..3798cbe1b2ec382eef9980462e75ce696a7793e0 100644 (file)
@@ -37,6 +37,15 @@ namespace rados {
         rados_op->exec("otp", "otp_set", in);
       }
 
+      void OTP::set(librados::ObjectWriteOperation *rados_op,
+                       const list<otp_info_t>& entries) {
+        cls_otp_set_otp_op op;
+        op.entries = entries;
+        bufferlist in;
+        ::encode(op, in);
+        rados_op->exec("otp", "otp_set", in);
+      }
+
       void OTP::remove(librados::ObjectWriteOperation *rados_op,
                        const string& id) {
         cls_otp_remove_otp_op op;
index 6c34684f8189dbeb4aa062d3b611d80f37ed5dfb..262c3c7ece0afc63b6fa5ff4815cb11fdfb0350f 100644 (file)
@@ -17,7 +17,8 @@ namespace rados {
 
       class OTP {
       public:
-       static void create(librados::ObjectWriteOperation *op, const otp_info_t& config);
+        static void create(librados::ObjectWriteOperation *op, const otp_info_t& config);
+        static void set(librados::ObjectWriteOperation *op, const list<otp_info_t>& entries);
         static void remove(librados::ObjectWriteOperation *op, const string& id);
         static int get(librados::IoCtx& ioctx, const string& oid,
                        const list<string> *ids, bool get_all, list<otp_info_t> *result);