From 15612acb76aa1384dfe5749a9808f1e431f13f2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Fri, 26 Aug 2005 02:37:57 +0000 Subject: [PATCH] bfs_read_vnode() no longer tries to load a block when there can't be an inode (since it knows that it doesn't place any inodes before the end of the log area). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14068 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/file_systems/bfs/kernel_interface.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/add-ons/kernel/file_systems/bfs/kernel_interface.cpp b/src/add-ons/kernel/file_systems/bfs/kernel_interface.cpp index 7a33714818..95bfd86621 100644 --- a/src/add-ons/kernel/file_systems/bfs/kernel_interface.cpp +++ b/src/add-ons/kernel/file_systems/bfs/kernel_interface.cpp @@ -257,8 +257,11 @@ bfs_read_vnode(void *_ns, vnode_id id, void **_node, bool reenter) //FUNCTION_START(("vnode_id = %Ld\n", id)); Volume *volume = (Volume *)_ns; - if (id < 0 || id > volume->NumBlocks()) { - FATAL(("inode at %Ld requested!\n", id)); + // first inode may be after the log area, we don't go through + // the hassle and try to load an earlier block from disk + if (id < volume->ToBlock(volume->Log()) + volume->Log().Length() + || id > volume->NumBlocks()) { + INFORM(("inode at %Ld requested!\n", id)); return B_ERROR; }