From 23f75d5229c75d3453bc0d26a7f4358cabb964a1 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Sat, 30 Aug 2025 12:26:34 -0400 Subject: [PATCH] BFS: Don't acquire/put the indices node in BPlusTree. Fixes #19733. --- src/add-ons/kernel/file_systems/bfs/BPlusTree.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/add-ons/kernel/file_systems/bfs/BPlusTree.cpp b/src/add-ons/kernel/file_systems/bfs/BPlusTree.cpp index 2c87496da0..e8c0214456 100644 --- a/src/add-ons/kernel/file_systems/bfs/BPlusTree.cpp +++ b/src/add-ons/kernel/file_systems/bfs/BPlusTree.cpp @@ -408,7 +408,8 @@ CachedNode::SetToWritableHeader(Transaction& transaction) transaction.AddListener(fTree); fTree->fInTransaction = true; - if (!transaction.GetVolume()->IsInitializing()) { + if (!transaction.GetVolume()->IsInitializing() + && fTree->fStream != transaction.GetVolume()->IndicesNode()) { acquire_vnode(transaction.GetVolume()->FSVolume(), fTree->fStream->ID()); } @@ -981,7 +982,7 @@ BPlusTree::RemovedFromTransaction() { fInTransaction = false; - if (!fStream->GetVolume()->IsInitializing()) + if (!fStream->GetVolume()->IsInitializing() && fStream != fStream->GetVolume()->IndicesNode()) put_vnode(fStream->GetVolume()->FSVolume(), fStream->ID()); }