From: Jason Dillaman Date: Tue, 12 May 2020 14:16:36 +0000 (-0400) Subject: librbd: copy API should not inherit v1 image format by default X-Git-Tag: v14.2.10~36^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=38014a20c04fd735571e1a06de926ea614a2f2a6;p=ceph.git librbd: copy API should not inherit v1 image format by default 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 (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()" --- diff --git a/src/librbd/internal.cc b/src/librbd/internal.cc index 89b538d6e644..ebf2603f3f35 100644 --- a/src/librbd/internal.cc +++ b/src/librbd/internal.cc @@ -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); }