History log of /haiku/src/add-ons/kernel/file_systems/btrfs/Volume.h
Revision Date Author Comments
# 1519703a 03-Jul-2019 brjhaiku <brjhaiku@gmail.com>

btrfs: implement btrfs_write_fs_info

Change-Id: I507fc4154f8a11235b6b6f8812c3b38924f533f7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1560
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# aa08671d 08-Apr-2019 Les De Ridder <les@lesderid.net>

btrfs: partially implement filesystem initialization

Change-Id: I7fb3340dc39b3331d30e5113b5860d936efab253
Reviewed-on: https://review.haiku-os.org/c/1395
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 99768086 29-Aug-2017 hyche <cvghy116@gmail.com>

BTRFS: Add author and license.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>


# 166917c9 28-Aug-2017 hyche <cvghy116@gmail.com>

BTRFS: Implement btrfs_create_dir that can create directories in most case.

We need to handle a case when node is full, the solution should be split or push data to another node.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>


# 36a24fb3 28-Aug-2017 hyche <cvghy116@gmail.com>

BTRFS: Implement Create() that allocate new Inode object.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>


# 4368661f 23-Aug-2017 hyche <cvghy116@gmail.com>

BTRFS: Implement GetNewBlock() function that will find the logical address for allocating and convert it to physical block.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>


# c1320b3a 23-Aug-2017 hyche <cvghy116@gmail.com>

BTRFS: Implement a simple journaling approach, this is not finished and mostly satisfy the need for passing Transaction object for many functions.

Some details about the current Journal:
* Journal can only end transaction.
* It holds a transaction id of fs (fCurrentGeneration) that increments each time a transaction starts.
* _TransactionWritten now just printing message.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>


# af419b0e 13-Aug-2017 hyche <cvghy116@gmail.com>

BTRFS: Implement ExtentAllocator

There are 4 new classes, structs:
* CachedExtent, is a AVLTreeNode, caches the extent locating in extent tree, a extent can be free, allocated, metadata or a data extent. It also hold a references count,
that is incremented each time a new extent refer to it (COW) and item data, that is only for allocated extent (NULL for free).
* CachedTreeExtent, is a AVLTree, cache the whole extent tree and has CachedExtent as its node.
* BlockGroup represents the group of extents that represent the region for each type of allocated extent. For example, region for data extents, metada blocks. It
responsible for inserting nodes in CachedTreeExtent.
* And the final, ExtentAllocator it knows how to allocate/deallocate extents, but for now only the allocating is implemented, actually allocating and deallocating works
are already implemented, they are in functions _AddFreeExtent, _AddAllocatedExtent in CachedTreeExtent. However the deallocating is not needed for now, so it will be
finished later then.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>


# a4a1be75 04-Jul-2017 hyche <cvghy116@gmail.com>

BTRFS: Added retrieve Volume from BTree


# 7e8e6c2e 09-Jun-2017 hyche <cvghy116@gmail.com>

BTRFS: Added retrieve sector size for later use

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# 299aba38 09-Jun-2017 hyche <cvghy116@gmail.com>

BTRFS: code cleanups

* Removed struct keyword for declaring variable.
* Renamed BPlusTree to BTree because BtrFS use a variant of BTree not B+Tree.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# bf5d0ce3 19-May-2017 hyche <cvghy116@gmail.com>

btrfs_shell for testing btrfs code.

* Adding Jamfile in src/tools/btrfs_shell and include the subdir in src/tools/Jamfile
* Adding system_dependencies.h in btrfs source to include all the system headers
* fs_shell wrapping for btrfs source. If FS_SHELL is defined, compile with fs_shell headers instead.
* Change macro BTRFS_SHELL to FS_SHELL
* Adding btrfs_std_ops function: fs_shell now can recognize and load module


# 8864a6cb 18-May-2017 hyche <cvghy116@gmail.com>

btrfs: Code style

* Using tab instead of spaces
* Pointer/Reference should be next to type
* etc


# 6f4c36e2 24-Jan-2011 Jérôme Duval <korli@users.berlios.de>

* Implemented a read-only btrfs file system, tested with a 400MB image.
* Inline extent data isn't read with the file_cache yet as the data is not block aligned.


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


# 6f4c36e2979b9684a65e6d73b872d4628f3e452a 24-Jan-2011 Jérôme Duval <korli@users.berlios.de>

* Implemented a read-only btrfs file system, tested with a 400MB image.
* Inline extent data isn't read with the file_cache yet as the data is not block aligned.


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