Call fill_partial_checksum_blocks() correctly in regard to COPY_BUF_CSUM_FILL
parent
12851dc07d
commit
9357e5293e
|
@ -1040,9 +1040,12 @@ void journal_flusher_co::scan_dirty()
|
||||||
}
|
}
|
||||||
uint8_t *bmp_ptr = bs->get_clean_entry_bitmap(old_clean_loc, 0);
|
uint8_t *bmp_ptr = bs->get_clean_entry_bitmap(old_clean_loc, 0);
|
||||||
uint64_t fulfilled = 0;
|
uint64_t fulfilled = 0;
|
||||||
|
int last = v.size()-1;
|
||||||
|
while (last >= 0 && (v[last].copy_flags & COPY_BUF_CSUM_FILL))
|
||||||
|
last--;
|
||||||
read_to_fill_incomplete = bs->fill_partial_checksum_blocks(
|
read_to_fill_incomplete = bs->fill_partial_checksum_blocks(
|
||||||
v, fulfilled, bmp_ptr, NULL, false, NULL, v[0].offset/bs->dsk.csum_block_size * bs->dsk.csum_block_size,
|
v, fulfilled, bmp_ptr, NULL, false, NULL, v[0].offset/bs->dsk.csum_block_size * bs->dsk.csum_block_size,
|
||||||
((v[v.size()-1].offset+v[v.size()-1].len-1) / bs->dsk.csum_block_size + 1) * bs->dsk.csum_block_size
|
((v[last].offset+v[last].len-1) / bs->dsk.csum_block_size + 1) * bs->dsk.csum_block_size
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else if (fill_incomplete && clean_init_bitmap)
|
else if (fill_incomplete && clean_init_bitmap)
|
||||||
|
|
Loading…
Reference in New Issue