]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
rgw_file: fix mv/rename cases broken by zipper integration
authorMatt Benjamin <mbenjamin@redhat.com>
Thu, 14 Mar 2024 00:19:01 +0000 (20:19 -0400)
committerMatt Benjamin <mbenjamin@redhat.com>
Fri, 15 Mar 2024 13:57:55 +0000 (09:57 -0400)
commitf11cdb1e1820cc8febbf227532efa11696916e2c
tree1b2fea9553200bc25ddca9283d1a2898310b4b84
parent6185d084fab59d208d3bfb1fbf5565b52edd85a6
rgw_file: fix mv/rename cases broken by zipper integration

There were two problems.  First, leaf object names must be
expressed as fully-qualified to the bucket as input to the
copy-object step.  Second, handle s->object in the same step
indicates the being-created destination object of the copy,
this was correct in the original zipper change but broken
later.

* add a rename/mv unit test

Tests for the following cases added:

1. move between two sub-directory paths in a single bucket
2. move between two names at the top level of a single bucket
3. move between sub-directory paths in different buckets (cross-bucket rename)

Fixes: https://tracker.ceph.com/issues/64950
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
qa/workunits/rgw/test_librgw_file.sh
src/rgw/rgw_file_int.h
src/rgw/rgw_op.cc
src/test/CMakeLists.txt
src/test/librgw_file_rename.cc [new file with mode: 0644]