rendered paste body--- a/src/librbd.cc
+++ b/src/librbd.cc
@@ -1172,13 +1172,14 @@ int copy(ImageCtx& ictx, IoCtx& dest_md_ctx, const char *destname,
return r;
}
- r = read_iterate(&ictx, 0, src_size, do_copy_extent, &cp);
+ int64_t ret = read_iterate(&ictx, 0, src_size, do_copy_extent, &cp);
- if (r >= 0) {
- prog_ctx.update_progress(cp.src_size, cp.src_size);
- }
close_image(cp.destictx);
- return r;
+ if (ret < 0) {
+ return ret;
+ }
+ prog_ctx.update_progress(cp.src_size, cp.src_size);
+ return 0;
}
int snap_set(ImageCtx *ictx, const char *snap_name)