Now takes the off-by-one error in Be's BFS implemenation into account, too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14428 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -24,7 +24,8 @@ struct run_array {
|
|||||||
block_run runs[0];
|
block_run runs[0];
|
||||||
|
|
||||||
int32 CountRuns() const { return BFS_ENDIAN_TO_HOST_INT32(count); }
|
int32 CountRuns() const { return BFS_ENDIAN_TO_HOST_INT32(count); }
|
||||||
int32 MaxRuns() const { return BFS_ENDIAN_TO_HOST_INT32(max_runs); }
|
int32 MaxRuns() const { return BFS_ENDIAN_TO_HOST_INT32(max_runs) - 1; }
|
||||||
|
// that -1 accounts for an off-by-one error in Be's BFS implementation
|
||||||
const block_run &RunAt(int32 i) const { return runs[i]; }
|
const block_run &RunAt(int32 i) const { return runs[i]; }
|
||||||
|
|
||||||
static int32 MaxRuns(int32 blockSize)
|
static int32 MaxRuns(int32 blockSize)
|
||||||
|
|||||||
@@ -62,8 +62,6 @@ class Journal {
|
|||||||
inline uint32 FreeLogBlocks() const;
|
inline uint32 FreeLogBlocks() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend class LogEntry;
|
|
||||||
|
|
||||||
status_t _CheckRunArray(const run_array *array);
|
status_t _CheckRunArray(const run_array *array);
|
||||||
status_t _ReplayRunArray(int32 *start);
|
status_t _ReplayRunArray(int32 *start);
|
||||||
status_t _TransactionDone(bool success);
|
status_t _TransactionDone(bool success);
|
||||||
|
|||||||
Reference in New Issue
Block a user