]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
Objecter: keep ObjectOperation rval pointers for writes
authorJosh Durgin <josh.durgin@inktank.com>
Thu, 30 Jan 2014 14:55:29 +0000 (06:55 -0800)
committerJosh Durgin <josh.durgin@inktank.com>
Tue, 18 Feb 2014 20:34:31 +0000 (12:34 -0800)
Just before sending an op, prepare_mutate_op() is called, creating a
new Op. prepare_read_op() already copied over all the out-params
correctly, but for write operations the individual op return value
pointers were not copied, so they would not be filled in. With this
fixed, librados users can get the per-op return codes again.

Partially fixes: #6483
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
PendingReleaseNotes
src/osdc/Objecter.h

index ca4716a10948a5b97994af1c142e356b71967048..4d4ece4faebfe936f99ac653f2f5afa678cfb4d4 100644 (file)
@@ -9,3 +9,6 @@ v0.78
   inode that has an outdated backtrace attribute will get updated when
   the inode itself is modified.  This will result in some extra workload
   after a legacy CephFS file system is upgraded.
+
+* The per-op return code in librados' ObjectWriteOperation interface
+  is now filled in.
index cc75434ffad6f1a4cac5a523a482020756785376..24eeeb086410d2fd32c670ba1b3fa8d91fa89fe7 100644 (file)
@@ -1605,6 +1605,7 @@ public:
     o->priority = op.priority;
     o->mtime = mtime;
     o->snapc = snapc;
+    o->out_rval.swap(op.out_rval);
     return o;
   }
   tid_t mutate(const object_t& oid, const object_locator_t& oloc,