The string specifies the reason why the rotation is wanted.
}
i_free(file->filepath);
+ i_free(file->need_rotate);
i_free(file);
errno = old_errno;
i_assert(ret != 0);
/* get it fixed on the next sync */
file->log->index->need_recreate = TRUE;
- file->need_rotate = TRUE;
+ if (file->need_rotate == NULL) {
+ file->need_rotate =
+ i_strdup("modseq tracking is corrupted");
+ }
/* clear cache, since it's unreliable */
memset(file->modseq_cache, 0, sizeof(file->modseq_cache));
}
uoff_t last_size;
time_t last_mmap_error_time;
+ char *need_rotate;
struct mail_transaction_log_header hdr;
buffer_t mmap_buffer;
bool locked:1;
bool locked_sync_offset_updated:1;
bool corrupted:1;
- bool need_rotate:1;
};
struct mail_transaction_log {