]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
librbd: fix id initialization in new format
authorJosh Durgin <josh.durgin@inktank.com>
Thu, 26 Jul 2012 22:27:49 +0000 (15:27 -0700)
committerSage Weil <sage@inktank.com>
Thu, 26 Jul 2012 23:29:25 +0000 (16:29 -0700)
48bd839b1e25b063c675416a8f6233463f1af115 should have included this.
I misread it due to the use of bid instead of id when generating
the object prefix.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
src/librbd.cc

index cb76fa2d9d7abd01197c0695d76756181cf8f62a..4d1d68e8be483924c03b20b67bc59bc79efe56a4 100644 (file)
@@ -1132,7 +1132,8 @@ int create(IoCtx& io_ctx, const char *imgname, uint64_t size,
     }
 
     ostringstream bid_ss;
-    bid_ss << std::hex << bid;
+    uint32_t extra = rand() % 0xFFFFFFFF;
+    bid_ss << std::hex << bid << std::hex << extra;
     string id = bid_ss.str();
     r = cls_client::set_id(&io_ctx, id_obj, id);
     if (r < 0) {
@@ -1148,8 +1149,7 @@ int create(IoCtx& io_ctx, const char *imgname, uint64_t size,
     }
 
     ostringstream oss;
-    uint32_t extra = rand() % 0xFFFFFFFF;
-    oss << RBD_DATA_PREFIX << std::hex << bid << std::hex << extra;
+    oss << RBD_DATA_PREFIX << std::hex << id;
     r = cls_client::create_image(&io_ctx, header_name(id), size, *order, features,
                                 oss.str());
   }