[GSoC 2017 - BTRFS Write Supports] Week #6 #7 #8
Sorry for late report, things are not going as I planned. In order to implement tree manipulation or copy-on-write function, I must first have a blocks/extents allocator that works well. Also, those things need to handle transactions as well.
In the previous weeks, I did some “edgy” works that are supported functions, add some on-disks structures, modify some parts of the source code, etc. Currently, I am implementing the extent allocator, it can now dump all the free extents and used extents for all roots, included backup roots. The goal is allocating continuous extents and preventing external fragmentation, but I’m stuck at it. My initial idea is using AVLTree that is existed in Haiku for tracking extents, and from that I can find a next necessary extent for allocating, but I’m not sure it is the right way. You can read all the works in my commit history.
If I can make the allocator work and also the journal, things would be easier, as because the rest is greatly dependent on those two. For example, the copy-on-write function is simply allocating a extent, copy old data with some changes to new allocated extent and it is roughly the same as splitting nodes. Therefore, in the second coding period I will work hard with the mentor and focus on doing extent allocator, journal.
Thanks for reading, see you again.
- Haiku Contract Report: September 2021
- Haiku activity report - September 2021
- Haiku activity report - Summer 2021
- GSoC 2021 Final Report: Coding style checker bot for Gerrit
- GSoC 2021 Final Report: Modernizing Chat-O-Matic (Caya)
- GSoC 2021 Improvements to Haiku-format Final update
- Positively Critical: WebPositive and Haiku
- Update #3 from the Promotion Team
- GSOC 2021:Progress Report of Improvements to clang-format
- GSoC 2021 Progress Update 3: Coding style checker bot for Gerrit