]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
librados: need prval for tmap_get
authorSage Weil <sage@newdream.net>
Tue, 14 Feb 2012 21:39:46 +0000 (13:39 -0800)
committerSage Weil <sage@newdream.net>
Tue, 14 Feb 2012 21:39:46 +0000 (13:39 -0800)
Signed-off-by: Sage Weil <sage@newdream.net>
src/include/rados/librados.hpp
src/librados.cc
src/osdc/Objecter.h

index 54baadfe198cd0fa061abc9563bf96357c1a8bb7..251324b139c26acc7eabf72809d062f165f2b9a0 100644 (file)
@@ -191,7 +191,7 @@ namespace librados
     void getxattr(const char *name, bufferlist *pbl, int *prval);
     void getxattrs(std::map<std::string, bufferlist> *pattrs, int *prval);
     void read(size_t off, uint64_t len, bufferlist *pbl, int *prval);
-    void tmap_get(bufferlist *pbl);
+    void tmap_get(bufferlist *pbl, int *prval);
   };
 
 
index e7db7779fce3ee4f5a726fc81c34f45b935d6a85..e8e8bbadb0d737e35938aefa91ac3043e5e2d0a4 100644 (file)
@@ -200,10 +200,10 @@ void librados::ObjectReadOperation::read(size_t off, uint64_t len, bufferlist *p
   o->read(off, len, pbl, prval);
 }
 
-void librados::ObjectReadOperation::tmap_get(bufferlist *pbl)
+void librados::ObjectReadOperation::tmap_get(bufferlist *pbl, int *prval)
 {
   ::ObjectOperation *o = (::ObjectOperation *)impl;
-  o->tmap_get(pbl);
+  o->tmap_get(pbl, prval);
 }
 
 void librados::ObjectReadOperation::getxattr(const char *name, bufferlist *pbl, int *prval)
@@ -2091,7 +2091,7 @@ int librados::RadosClient::tmap_get(IoCtxImpl& io, const object_t& oid, bufferli
   Mutex mylock("RadosClient::tmap_put::mylock");
   Cond cond;
   bool done;
-  int r;
+  int r = 0;
   Context *onack = new C_SafeCond(&mylock, &cond, &done, &r);
   eversion_t ver;
 
@@ -2100,7 +2100,7 @@ int librados::RadosClient::tmap_get(IoCtxImpl& io, const object_t& oid, bufferli
   lock.Lock();
   ::ObjectOperation rd;
   prepare_assert_ops(&io, &rd);
-  rd.tmap_get(&bl);
+  rd.tmap_get(&bl, NULL);
   objecter->read(oid, io.oloc, rd, io.snap_seq, 0, 0, onack, &ver);
   lock.Unlock();
 
index 4995f995444b59fe60577a9c7ba43cd7c7f35728..023bb1472e1c3ad466d92a3b595a4809498a4b80 100644 (file)
@@ -330,10 +330,11 @@ struct ObjectOperation {
   void tmap_put(bufferlist& bl) {
     add_data(CEPH_OSD_OP_TMAPPUT, 0, bl.length(), bl);
   }
-  void tmap_get(bufferlist *pbl) {
+  void tmap_get(bufferlist *pbl, int *prval) {
     add_op(CEPH_OSD_OP_TMAPGET);
     unsigned p = ops.size() - 1;
     out_bl[p] = pbl;
+    out_rval[p] = prval;
   }
   void tmap_get() {
     add_op(CEPH_OSD_OP_TMAPGET);