From f18a74932420a02b1138eecfdec3721085f4714f Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Sat, 21 Sep 2024 13:40:31 +0300 Subject: [PATCH] READ_CHAIN fix was incomplete :-) --- src/osd/osd_primary_chain.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/osd/osd_primary_chain.cpp b/src/osd/osd_primary_chain.cpp index ba6321bd..9cc37962 100644 --- a/src/osd/osd_primary_chain.cpp +++ b/src/osd/osd_primary_chain.cpp @@ -337,7 +337,7 @@ std::vector osd_t::collect_chained_read_requests(osd_op_t *cur { uint8_t *part_bitmap = ((uint8_t*)op_data->snapshot_bitmaps) + chain_pos*stripe_count*clean_entry_bitmap_size; int start = !cur_op->req.rw.len ? 0 : (cur_op->req.rw.offset - op_data->oid.stripe)/bs_bitmap_granularity; - int end = !cur_op->req.rw.len ? op_data->pg_data_size*clean_entry_bitmap_size : start + cur_op->req.rw.len/bs_bitmap_granularity; + int end = !cur_op->req.rw.len ? op_data->pg_data_size*clean_entry_bitmap_size*8 : start + cur_op->req.rw.len/bs_bitmap_granularity; // Skip unneeded part in the beginning while (start < end && ( ((global_bitmap[start>>3] >> (start&7)) & 1) ||