Add a way to request allocation of a specific block run to
BlockAllocator. Use it to allocate the new location for the journal.
Change-Id: I276de77d937253baa312049ad2964849c5e9b68b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10057
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
All operations which allocate blocks must follow the block range
restriction during a resize operation. Since we do the resize live,
operations not originating from the resize work must also follow the
restriction. To implement that, we need to handle the restriction
directly in the BlockAllocator.
Change-Id: Ie6e06407e7ad2c0396818e2ef02be46d2bd01b99
Reviewed-on: https://review.haiku-os.org/c/haiku/+/932
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Another FileSystemVisitor implementation will be used for resizing
Change-Id: I2d5f47dcbefb4c76834487b194a99c6f5ae7de50
Reviewed-on: https://review.haiku-os.org/c/923
Reviewed-by: Jérôme Duval <[email protected]>
Since the file system resizing code must reinitialize the block cache,
it is necessary that it is completely empty.
Change-Id: If0df9f8c003edb4ccc65c4b42940512400f8598c
Reviewed-on: https://review.haiku-os.org/c/921
Reviewed-by: waddlesplash <[email protected]>
Wrong variable usage in inner loop caused some double indirect stream
runs to be checked twice when block size was smaller than
DOUBLE_INDIRECT_ARRAY_SIZE, while some were incorrectly marked as
unallocated in the bitmap.
Signed-off-by: Axel Dörfler <[email protected]>
Not in duplicate fragments, however. This oversight in hrev44359 made
checkfs incorrectly rebuild valid indices, causing #8762.
Signed-off-by: Axel Dörfler <[email protected]>
Such arrays could be created by the BFS code between hrev43837 and
hrev43924, and cause the array to not be free'd when the entry is
removed.
The check in _InsertDuplicate() is not changed, as doing an insertion
will actually repair this problem.
Potentially, the code could be modified to handle this state instead,
but since checkfs can fix it, it doesn't seem necessary.
Signed-off-by: Axel Dörfler <[email protected]>