diff --git a/src/add-ons/kernel/file_systems/bfs/Journal.cpp b/src/add-ons/kernel/file_systems/bfs/Journal.cpp index 61969c5f2f..2843e9a203 100644 --- a/src/add-ons/kernel/file_systems/bfs/Journal.cpp +++ b/src/add-ons/kernel/file_systems/bfs/Journal.cpp @@ -24,7 +24,8 @@ struct run_array { block_run runs[0]; 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]; } static int32 MaxRuns(int32 blockSize) diff --git a/src/add-ons/kernel/file_systems/bfs/Journal.h b/src/add-ons/kernel/file_systems/bfs/Journal.h index 604b297d3f..f306a85fc5 100644 --- a/src/add-ons/kernel/file_systems/bfs/Journal.h +++ b/src/add-ons/kernel/file_systems/bfs/Journal.h @@ -62,8 +62,6 @@ class Journal { inline uint32 FreeLogBlocks() const; private: - friend class LogEntry; - status_t _CheckRunArray(const run_array *array); status_t _ReplayRunArray(int32 *start); status_t _TransactionDone(bool success);