]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
librbd: copy API should not inherit v1 image format by default 35182/head
authorJason Dillaman <dillaman@redhat.com>
Tue, 12 May 2020 14:16:36 +0000 (10:16 -0400)
committerNathan Cutler <ncutler@suse.com>
Thu, 21 May 2020 17:47:34 +0000 (19:47 +0200)
When copying from a v1 image, by default the new destination image
would be created using the v1 format. Since the creation of v1 images
is disallowed, this has been updated to default to using the v2
image format.

Fixes: https://tracker.ceph.com/issues/45518
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 69b6d5997e8c6a11739e4d5a32564e61eb2f470f)

Conflicts:
src/librbd/internal.cc
- in nautilus, the call immediately preceding the change is
  "src->snap_lock.put_read()" whereas in master it is
  "src->image_lock.unlock_shared()"

src/librbd/internal.cc

index 89b538d6e6444942bc65afa6729d7af69179820b..ebf2603f3f35f002febf1f7d62a9b913b8684075 100644 (file)
@@ -1345,7 +1345,7 @@ int validate_pool(IoCtx &io_ctx, CephContext *cct) {
     uint64_t features = src->features;
     uint64_t src_size = src->get_image_size(src->snap_id);
     src->snap_lock.put_read();
-    uint64_t format = src->old_format ? 1 : 2;
+    uint64_t format = 2;
     if (opts.get(RBD_IMAGE_OPTION_FORMAT, &format) != 0) {
       opts.set(RBD_IMAGE_OPTION_FORMAT, format);
     }