]> 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:34:28 +0000 (12:34 +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 717110bd38a1340c9876905d67750b8fb0933f64..9b400debd13a50a1af45eeace23a18ccd9cf6424 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);