bfs: Fixed missing block allocator uninit in case of error
* If Volume::Mount() failed opening the root node, the Volume would be destroyed regardless of the fact that the block allocator was initializing the bitmap asynchronously. * For a proper shutdown, the block allocator needs to be uninitialized first. * This should fix #15015. Change-Id: Ice520a12c5c58c785f391009327becfb1f284bce Reviewed-on: https://review.haiku-os.org/c/1501 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
This commit is contained in:
parent
e5a393474b
commit
7b1178998d
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2001-2017, Axel Dörfler, axeld@pinc-software.de.
|
* Copyright 2001-2019, Axel Dörfler, axeld@pinc-software.de.
|
||||||
* This file may be used under the terms of the MIT License.
|
* This file may be used under the terms of the MIT License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -435,6 +435,9 @@ Volume::Mount(const char* deviceName, uint32 flags)
|
|||||||
} else {
|
} else {
|
||||||
status = B_BAD_VALUE;
|
status = B_BAD_VALUE;
|
||||||
FATAL(("could not create root node!\n"));
|
FATAL(("could not create root node!\n"));
|
||||||
|
|
||||||
|
// We need to wait for the block allocator to finish
|
||||||
|
fBlockAllocator.Uninitialize();
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user