#
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>
|
#
a0710a23 |
|
06-Apr-2019 |
Che Vu Gia Hy <cvghy116@gmail.com> |
btrfs: Fix get object id from disk in wrong order Change-Id: I15ab04ec55dd4e9318eff9eef65a5030bf5241b3 Reviewed-on: https://review.haiku-os.org/c/1390 Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
|
#
f10ebdb1 |
|
13-Mar-2019 |
brjhaiku <brjhaiku@gmail.com> |
btrfs * Fixed coding style for all files under /src/add-ons/kernel/file_systems/btrfs * rewrote crc_table.cpp to generate CRCTable.cpp that conforms to coding style. Change-Id: I90fcc143320c7a7e9a6dc174f0ad82f40bb8a9b6 Reviewed-on: https://review.haiku-os.org/c/1194 Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
|
#
3f43dd87 |
|
15-Dec-2017 |
hyche <cvghy116@gmail.com> |
btrfs: Fix btrfs_dir_entry doesn't read data from disk correctly.
|
#
b06b5456 |
|
12-Dec-2017 |
Augustin Cavalier <waddlesplash@gmail.com> |
btrfs: [] on the end of a struct field is a variable length array. This throws an error in Clang, so just declare these as pointers.
|
#
99768086 |
|
29-Aug-2017 |
hyche <cvghy116@gmail.com> |
BTRFS: Add author and license. Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
|
#
b44d924d |
|
28-Aug-2017 |
hyche <cvghy116@gmail.com> |
BTRFS: Implement MakeReference() in Inode that will link file name to inode. Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
|
#
371935de |
|
28-Aug-2017 |
hyche <cvghy116@gmail.com> |
BTRFS: Implement Insert() in Inode that inserts inode_item. 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>
|
#
02bce792 |
|
26-Aug-2017 |
hyche <cvghy116@gmail.com> |
BTRFS: Added function to convert standard filetypes to btrfs filetypes. Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
|
#
883b9bf2 |
|
23-Aug-2017 |
hyche <cvghy116@gmail.com> |
BTRFS: Implement CopyOnWrite relevant functions, and BTree holds new attribute that record its root level. CopyOnWrite works like this: * Cache original node * Allocating new block * Cache new block to be writable * Copy original node to new node, and changing. Also if a node is already be COW-ed it cannot be COW-ed again, it will be changed in-place instead. InternalCopy does CopyOnWrite all the nodes that we don't need to change anything on them. Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
|
#
89484dc0 |
|
23-Aug-2017 |
hyche <cvghy116@gmail.com> |
BTRFS: Implement some copy relevant helpers. Copy() copys data from other node, MoveEntries() changes data on the current node. Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
|
#
0deb0356 |
|
17-Aug-2017 |
hyche <cvghy116@gmail.com> |
BTRFS: Fix mismatched type of index in inode_ref item. 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>
|
#
3216460d |
|
12-Aug-2017 |
hyche <cvghy116@gmail.com> |
BTRFS: Implement BTree::Path and change _Find. Remove attribute fCurrentSlot in BTree::Node as it will be handled by Path explicitly. BTree control Path by passing its type in BTree's method, Path also hold BTree type as its attribute to do some internal actions. Add constant BTREE_KEY_TYPE_ANY, find search key has this type will success regardless of the found key's type. Split the the _Find function into Traverse and GetEntry. Traverse will fill in the Path (nodes and slots) along way its finding, GetEntry will get the item data, item size, key from leaf, if the slot is valid, that we have from Traverse. The _Find function also check type if is correct and then retrieve. Doing this way there will be more flexible, the "read" flag is not needed as we only need Path to manipulate tree, and it also enhance the performance at some points, because Path caches all the nodes from root to leaf, so that we don't have to block_cache_put and block_cache_get after each finding. Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
|
#
4ba7b70f |
|
02-Jul-2017 |
hyche <cvghy116@gmail.com> |
BTRFS: Added more flags and key types
|
#
052a981c |
|
02-Jul-2017 |
hyche <cvghy116@gmail.com> |
BTRFS: Added more on-disk data structures
|
#
7568abd5 |
|
22-Jun-2017 |
hyche <cvghy116@gmail.com> |
BTRFS: BlockNum -> LogicalAddress to prevent misunderstanding Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
bd2dab1c |
|
16-Jun-2017 |
hyche <cvghy116@gmail.com> |
BTRFS: Add some missing constants Chunk tree objectID is 3, 256 is the objectID of first created subvolume in fs tree, and also of first chunk tree (item in chunk tree). Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
875a0552 |
|
14-Jun-2017 |
hyche <cvghy116@gmail.com> |
BTRFS: Method _Compare from BTree is now in btrfs_key Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
7e8e6c2e |
|
09-Jun-2017 |
hyche <cvghy116@gmail.com> |
BTRFS: Added retrieve sector size for later use Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
d87124ef |
|
09-Jun-2017 |
hyche <cvghy116@gmail.com> |
BTRFS: Refix ticket #12788 * Change block size to node size. Block is not always the same as sector. 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>
|
#
b24d4c8a |
|
18-May-2017 |
hyche <cvghy116@gmail.com> |
Fixed: Code style (again) * Pointer/Reference should be next to type * else if -> if * Remove trailing spaces 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
|
#
403e1348 |
|
21-Jan-2012 |
Jérôme Duval <jerome.duval@gmail.com> |
CID 10629: use of sizeof(this) instead of sizeof(*this).
|
#
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
|
#
2c2074ba |
|
26-Jan-2011 |
Jérôme Duval <korli@users.berlios.de> |
added some const and fixed a typo git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40295 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
|
#
403e13486211b372e1c539e0603407b81d66dfa0 |
|
21-Jan-2012 |
Jérôme Duval <jerome.duval@gmail.com> |
CID 10629: use of sizeof(this) instead of sizeof(*this).
|
#
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
|
#
2c2074ba1339ef2ee7f17d3ec94aa41e31e2a54a |
|
26-Jan-2011 |
Jérôme Duval <korli@users.berlios.de> |
added some const and fixed a typo git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40295 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
|