]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
librbd: assert on m_length in calc_object_diff_range()
authorIlya Dryomov <idryomov@gmail.com>
Tue, 11 Jun 2024 14:03:22 +0000 (16:03 +0200)
committerIlya Dryomov <idryomov@gmail.com>
Sun, 23 Jun 2024 10:32:19 +0000 (12:32 +0200)
A non-empty byte range is required by both last_period_off calculation
and Striper::file_to_extents().

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 6b5f0088d799a72a840fae685b44b0f31eee6be8)

src/librbd/api/DiffIterate.cc

index 75c4c56818fc858d58e77cb6791ade76aa459e00..8d19542b3f3b18cb26e3c4136f46f05f77d825f4 100644 (file)
@@ -266,6 +266,7 @@ int DiffIterate<I>::diff_iterate(I *ictx,
 
 template <typename I>
 std::pair<uint64_t, uint64_t> DiffIterate<I>::calc_object_diff_range() {
+  ceph_assert(m_length > 0);
   uint64_t period = m_image_ctx.get_stripe_period();
   uint64_t first_period_off = round_down_to(m_offset, period);
   uint64_t last_period_off = round_down_to(m_offset + m_length - 1, period);