History log of /haiku/src/add-ons/kernel/file_systems/btrfs/Jamfile
Revision Date Author Comments
# d72239d2 17-Apr-2020 Suhel Mehta <mehtasuhel@gmail.com>

Move DeviceOpener class to a separate file.

It is used by several of the filesystems, so it seems a good idea to
move it to the shared/ directory.

UFS2, BFS, XFS, EXT2 and EXFAT are adjusted.

Change-Id: I493e37a1e7d3ae24251469f82befd985a3c1dbdd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2489
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>


# 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>


# 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>


# 0cb3f709 01-Sep-2013 Oliver Tappe <zooey@hirschkaefer.de>

Revert "Fix build problems of btrfs and packagefs for x86_64."

This reverts commit f272e63f393449d3a816970ca632764895a78cd6.


# c5c787ea 29-Aug-2013 Oliver Tappe <zooey@hirschkaefer.de>

Fix build problems of btrfs and packagefs for x86_64.

* Both filesystems used to link to a static kernel-zlib, which
was being built with -fno-pic. This doesn't work on x86_64 as the
filesystem add-ons are meant to be relocatable, which requires their
code to be compiled as position independent.
Solve that by moving zlib into the kernel, so any add-on can just use
it from there (packagefs is mandatory, so we can't really do without
zlib anyway).


# 9abd3e6f 06-May-2013 Oliver Tappe <zooey@hirschkaefer.de>

Fix race condition during build of some file systems.

* make sure the zlib package is available before trying to use zlib.h


# 7c6bff17 05-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Complete outsourcing of zlib

* Add optional packages Zlib and Zlib-devel.
* Simplify the build feature section for zlib and also extract the
source package.
* Replace all remaining references to the zlib instance in the tree and
remove it.


# b1f9573f 19-Nov-2011 Jérôme Duval <jerome.duval@gmail.com>

btrfs: added support for zlib decompression of inline extents.

Reuse code from tarfs to decompress zlib compressed inline extents.
No idea yet on how to decompress regular extents which are currently
served by the file cache.


# 956f541d 31-Jan-2011 Jérôme Duval <korli@users.berlios.de>

added read only attribute support for btrfs.


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


# 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


# 0cb3f7092620ff73abc6daadd866a4e07117bd37 01-Sep-2013 Oliver Tappe <zooey@hirschkaefer.de>

Revert "Fix build problems of btrfs and packagefs for x86_64."

This reverts commit f272e63f393449d3a816970ca632764895a78cd6.


# c5c787ea417c1a1c9f0fdb7ef3a5b807521f0093 29-Aug-2013 Oliver Tappe <zooey@hirschkaefer.de>

Fix build problems of btrfs and packagefs for x86_64.

* Both filesystems used to link to a static kernel-zlib, which
was being built with -fno-pic. This doesn't work on x86_64 as the
filesystem add-ons are meant to be relocatable, which requires their
code to be compiled as position independent.
Solve that by moving zlib into the kernel, so any add-on can just use
it from there (packagefs is mandatory, so we can't really do without
zlib anyway).


# 9abd3e6f53602c5fc3ad5676992bc27d40640e1b 06-May-2013 Oliver Tappe <zooey@hirschkaefer.de>

Fix race condition during build of some file systems.

* make sure the zlib package is available before trying to use zlib.h


# 7c6bff17340e2f6697a22f1ce56c18fa009d4d2e 05-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Complete outsourcing of zlib

* Add optional packages Zlib and Zlib-devel.
* Simplify the build feature section for zlib and also extract the
source package.
* Replace all remaining references to the zlib instance in the tree and
remove it.


# b1f9573f594557d669c8bb2cf4af0940c44a3b23 19-Nov-2011 Jérôme Duval <jerome.duval@gmail.com>

btrfs: added support for zlib decompression of inline extents.

Reuse code from tarfs to decompress zlib compressed inline extents.
No idea yet on how to decompress regular extents which are currently
served by the file cache.


# 956f541d967013c2be8563b7b1ee9af79eb50532 31-Jan-2011 Jérôme Duval <korli@users.berlios.de>

added read only attribute support for btrfs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40335 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