]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
librbd: fix overflow on large large image copy
authorSage Weil <sage@newdream.net>
Mon, 10 Oct 2011 18:04:30 +0000 (11:04 -0700)
committerSage Weil <sage@newdream.net>
Mon, 10 Oct 2011 18:04:30 +0000 (11:04 -0700)
Fixes: #1611
Signed-off-by: Sage Weil <sage@newdream.net>
src/librbd.cc

index 5e0c7321feab4fbbfd94a4b107587734507fcd7e..0a4f4bc34e98de243f6f4db87ac365f0e2705128 100644 (file)
@@ -1152,11 +1152,11 @@ int copy(ImageCtx& ictx, IoCtx& dest_md_ctx, const char *destname,
 {
   CephContext *cct = dest_md_ctx.cct();
   CopyProgressCtx cp(prog_ctx);
-
   uint64_t src_size = ictx.get_image_size();
+  int64_t r;
 
   int order = ictx.header.options.order;
-  int r = create(dest_md_ctx, destname, src_size, &order);
+  r = create(dest_md_ctx, destname, src_size, &order);
   if (r < 0) {
     lderr(cct) << "header creation failed" << dendl;
     return r;