if (ctx->file->saved_tail_offset == offset)
return;
+ i_assert(offset > ctx->file->saved_tail_offset);
buf = buffer_create_static_hard(pool_datastack_create(),
sizeof(*u) + sizeof(offset));
}
file->saved_tail_offset = log->index->map->hdr.log_file_tail_offset;
file->saved_tail_sync_offset = file->saved_tail_offset;
+ if (file->saved_tail_offset > file->max_tail_offset)
+ file->max_tail_offset = file->saved_tail_offset;
}
static void
return 1;
}
mail_transaction_log_file_set_corrupted(file,
- "log_file_tail_offset shrank");
+ "log_file_tail_offset update shrank it "
+ "(%u vs %"PRIuUOFF_T", file_seq=%u)",
+ sync_offset, file->saved_tail_offset,
+ file->hdr.file_seq);
return -1;
}
file->saved_tail_offset = sync_offset;