From 06c5115cf02edda4b2b69ce3af86a44e3f0788ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Wed, 23 Mar 2022 14:54:54 +0100 Subject: [PATCH] btrfs: check status before the flags Flags() uses fItem. should help with #14486 Change-Id: I2593280f92e9843a2d57d66bf9b793748fb14f3d Reviewed-on: https://review.haiku-os.org/c/haiku/+/5141 Reviewed-by: Adrien Destugues Tested-by: Commit checker robot --- src/add-ons/kernel/file_systems/btrfs/ExtentAllocator.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/add-ons/kernel/file_systems/btrfs/ExtentAllocator.cpp b/src/add-ons/kernel/file_systems/btrfs/ExtentAllocator.cpp index cbffe1af72..34db176a42 100644 --- a/src/add-ons/kernel/file_systems/btrfs/ExtentAllocator.cpp +++ b/src/add-ons/kernel/file_systems/btrfs/ExtentAllocator.cpp @@ -413,7 +413,7 @@ BlockGroup::Initialize(uint64 flag) while (true) { status = fCurrentExtentTree->FindNext(&path, fKey, (void**)&fItem); - if ((Flags() & flag) == flag || status != B_OK) + if (status != B_OK || (Flags() & flag) == flag) break; fKey.SetObjectID(End()); fKey.SetOffset(0);