* BFS now panics if cache_sync_transaction() didn't free the space needed,
instead of writing over the old log entries. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24856 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -727,8 +727,13 @@ Journal::_WriteTransactionToLog()
|
|||||||
|
|
||||||
// If necessary, flush the log, so that we have enough space for this
|
// If necessary, flush the log, so that we have enough space for this
|
||||||
// transaction
|
// transaction
|
||||||
if (runArrays.LogEntryLength() > FreeLogBlocks())
|
if (runArrays.LogEntryLength() > FreeLogBlocks()) {
|
||||||
cache_sync_transaction(fVolume->BlockCache(), fTransactionID);
|
cache_sync_transaction(fVolume->BlockCache(), fTransactionID);
|
||||||
|
if (runArrays.LogEntryLength() > FreeLogBlocks()) {
|
||||||
|
panic("no space in log after sync (%ld for %ld blocks)!",
|
||||||
|
(long)FreeLogBlocks(), (long)runArrays.LogEntryLength());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Write log entries to disk
|
// Write log entries to disk
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user