History log of /haiku/src/tests/system/kernel/file_corruption/fs/BlockAllocator.cpp
Revision Date Author Comments
# 46cf7a5a 14-Nov-2012 Przemysław Buczkowski <przemub@yahoo.pl>

Fix typos: super block -> superblock (#8974)

Signed-off-by: Przemysław Buczkowski <przemub@yahoo.pl>
Signed-off-by: Matt Madia <mattmadia@gmail.com>


# c1a1df8d 12-Sep-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Typo: & used instead of &&.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38609 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3555a42f 22-Jul-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Typo in debug output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37684 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8cb1303c 21-Jul-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Cleaned up debug output.
* _AllocateInGroup(): Fixed incorrect checks. The allocation group counts the
free, not the used blocks.
* _AllocateInBitmapBlock(): Fixed allocation loop. It was neither incrementing
the array pointer, nor resetting the bit offset.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37656 a95241bf-73f2-0310-859d-f6bbb57e9c96


# decde2b0 20-Jul-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* _Free[InBitmapBlock](): Don't use Block::Discard() (block_cache_discard()).
It doesn't have the intended semantics (reverting the change). The caller
is now expected to roll back the transaction.
* AllocateExactly(): Don't try to revert a partially successful allocation.
The caller is expected to roll back the transaction.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37632 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1e0016e1 19-Jul-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

BlockAllocator didn't update the freeBlocks field in the superblock. So after
unmounting and remounting the number of free blocks could be off.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37588 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7704e363 13-Jul-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Use RETURN_ERROR() in the free paths, so we see where things go wrong.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37504 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a2e7c741 12-Jul-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added Transaction class which wraps a block cache transaction and performs
all other operations required to roll back a transaction. Transactions are
fully serialized -- due to limitations of our block cache and also to keep
things simple.
* Use a transaction for all write operations.
* Implemented the directory entry management code (a simple tree algorithm).
* Finished/implemented the FS hooks for directory entry lookup, directory
iteration, creation, and removal.
* Added non-persistent support for node access times.
* Set the user and group IDs on node creation.
* Added permission checks to several FS hooks.
* BlockAllocator::_Free(): The number of freed blocks was subtracted from
fFreeBlocks instead of added.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37478 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c33b89b3 30-Jun-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Implemented a simple block allocator.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37312 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 46cf7a5a73679c6e4fde91710e4a4885242e49d1 14-Nov-2012 Przemysław Buczkowski <przemub@yahoo.pl>

Fix typos: super block -> superblock (#8974)

Signed-off-by: Przemysław Buczkowski <przemub@yahoo.pl>
Signed-off-by: Matt Madia <mattmadia@gmail.com>


# c1a1df8d838764d8fb68a1ccae482959e1e7d650 12-Sep-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Typo: & used instead of &&.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38609 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3555a42f18396f0f59af38bed69c3b6bf9450c86 22-Jul-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Typo in debug output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37684 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8cb1303cfaaec0a125cb2481de09d3d5766283e8 21-Jul-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Cleaned up debug output.
* _AllocateInGroup(): Fixed incorrect checks. The allocation group counts the
free, not the used blocks.
* _AllocateInBitmapBlock(): Fixed allocation loop. It was neither incrementing
the array pointer, nor resetting the bit offset.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37656 a95241bf-73f2-0310-859d-f6bbb57e9c96


# decde2b03037a9aa65bf7871caf26b12d7ced4f8 20-Jul-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* _Free[InBitmapBlock](): Don't use Block::Discard() (block_cache_discard()).
It doesn't have the intended semantics (reverting the change). The caller
is now expected to roll back the transaction.
* AllocateExactly(): Don't try to revert a partially successful allocation.
The caller is expected to roll back the transaction.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37632 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1e0016e1a9f1458b25c64b9032ffe60286770a09 19-Jul-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

BlockAllocator didn't update the freeBlocks field in the superblock. So after
unmounting and remounting the number of free blocks could be off.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37588 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7704e363049ac7e11136adf119e8af18e1718ab1 13-Jul-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Use RETURN_ERROR() in the free paths, so we see where things go wrong.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37504 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a2e7c7417b968392fd1756b6b097eb047003e6c7 12-Jul-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added Transaction class which wraps a block cache transaction and performs
all other operations required to roll back a transaction. Transactions are
fully serialized -- due to limitations of our block cache and also to keep
things simple.
* Use a transaction for all write operations.
* Implemented the directory entry management code (a simple tree algorithm).
* Finished/implemented the FS hooks for directory entry lookup, directory
iteration, creation, and removal.
* Added non-persistent support for node access times.
* Set the user and group IDs on node creation.
* Added permission checks to several FS hooks.
* BlockAllocator::_Free(): The number of freed blocks was subtracted from
fFreeBlocks instead of added.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37478 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c33b89b3bb339911828921c207a8d375621a65d0 30-Jun-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Implemented a simple block allocator.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37312 a95241bf-73f2-0310-859d-f6bbb57e9c96