From 1733a442315835e29473905c2da8c330367fa2ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Mon, 29 Aug 2005 22:18:15 +0000 Subject: [PATCH] Fixed a very stupid bug I introduced in r10056 (the Haiku-only switch): CachedNode::Allocate() could return the wrong offset for the new node when taken from the free node pool (it accidently returned the offset for the next free node...). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14084 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/file_systems/bfs/BPlusTree.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/add-ons/kernel/file_systems/bfs/BPlusTree.cpp b/src/add-ons/kernel/file_systems/bfs/BPlusTree.cpp index 836ad92be0..cbefb2b3f8 100644 --- a/src/add-ons/kernel/file_systems/bfs/BPlusTree.cpp +++ b/src/add-ons/kernel/file_systems/bfs/BPlusTree.cpp @@ -294,12 +294,12 @@ CachedNode::Allocate(Transaction &transaction, bplustree_node **_node, off_t *_o if (header == NULL) return B_IO_ERROR; + *_offset = header->FreeNode(); + *_node = fNode; + // set new free node pointer header->free_node_pointer = fNode->left_link; fNode->Initialize(); - - *_offset = header->FreeNode(); - *_node = fNode; return B_OK; }