fix new truncation check; it was using values for the old copy of the log to check the new copy.
This commit is contained in:
parent
3849b5f131
commit
bb182ee0b0
1 changed files with 2 additions and 3 deletions
|
@ -697,13 +697,12 @@ static int truncateLog_LogWriter(stasis_log_t* log, lsn_t LSN) {
|
||||||
close(sw->ro_fd);
|
close(sw->ro_fd);
|
||||||
|
|
||||||
lsn_t tmpLen = myFseek(tmpLog, 0, SEEK_END);
|
lsn_t tmpLen = myFseek(tmpLog, 0, SEEK_END);
|
||||||
if(tmpLen != sw->nextAvailableLSN - sw->global_offset) {
|
if(tmpLen != lengthOfCopiedLog+sizeof(lsn_t)) {
|
||||||
if(tmpLen == -1) {
|
if(tmpLen == -1) {
|
||||||
perror("Truncation couldn't seek");
|
perror("Truncation couldn't seek");
|
||||||
} else {
|
} else {
|
||||||
printf("Temporary logfile was wrong length after copying, but before truncation. No data has been lost. Aborting. "
|
printf("Temporary logfile was wrong length after copying, but before truncation. No data has been lost. Aborting. "
|
||||||
"Expected %lld, copied %lld, found %lld\n",
|
"Copied %lld, found %lld\n", lengthOfCopiedLog+sizeof(lsn_t), tmpLen);
|
||||||
sw->nextAvailableLSN - sw->global_offset, lengthOfCopiedLog+sizeof(lsn_t), tmpLen);
|
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue