Fix incorrect calls to prepare_journal_sector_write() when flushing multiple sectors

This commit is contained in:
Vitaliy Filippov
2021-02-01 19:31:10 +03:00
parent 9dd20a31aa
commit 9ef7f865b0
3 changed files with 10 additions and 13 deletions
+3 -4
View File
@@ -86,10 +86,9 @@ skip_ov:
if ((journal_block_size - journal.in_sector_pos) < sizeof(journal_entry_rollback) &&
journal.sector_info[journal.cur_sector].dirty)
{
if (cur_sector == -1)
PRIV(op)->min_flushed_journal_sector = 1 + journal.cur_sector;
cur_sector = journal.cur_sector;
prepare_journal_sector_write(journal, cur_sector, sqe[s++], cb);
PRIV(op)->min_flushed_journal_sector = 1 + journal.cur_sector;
prepare_journal_sector_write(journal, journal.cur_sector, sqe[s++], cb);
cur_sector = ((journal.cur_sector + 1) % journal.sector_count);
}
for (i = 0, v = (obj_ver_id*)op->buf; i < op->len; i++, v++)
{