]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
librados/snap_set_diff: ignore truncates above size at start
authorIlya Dryomov <idryomov@gmail.com>
Sun, 18 Feb 2024 10:46:15 +0000 (11:46 +0100)
committerIlya Dryomov <idryomov@gmail.com>
Fri, 15 Mar 2024 10:02:41 +0000 (11:02 +0100)
commit16ff7ac7de165f9249a30ce3d289d399eca570cd
treec7fd87e4d42fc3a23142977b84b891af5e115613
parent1df27247a676373423b9b5769ede23dff6dccf8f
librados/snap_set_diff: ignore truncates above size at start

Because currently calc_snap_set_diff() only ever appends to the running
diff, an excessive (either too large or completely bogus) zero extent
is reported in cases where an object is first expanded (with a snapshot
taken at that point) and then truncated but still above the size of the
object as of the starting snapshot.

Fixes: https://tracker.ceph.com/issues/63770
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 5b11fb314abefea390c5663c33e9e1ace6179974)
src/librados/snap_set_diff.cc
src/test/librbd/io/test_mock_ObjectRequest.cc