Hi again!
Congrats on getting selected in Gsoc this year. I am planning to implement write support for btrfs as I have been focusing on this over the past few weeks.
I have read the blogs of Hy Che (2017) and brj (2019) who started the write support feature and I’ve pointed things which are not implemented yet.
I wrote a new function in inode.cpp ( writeAt ). In kernel_interface.cpp, updated btrfs_write( ) to return this new function instead of B_NOT_SUPPORTED. Also return B_OK when file needs to be shrinked/grow in btrfs_write_stat() function. In Volume.cpp, I noticed the Mount function sets flag to Read only and there is extent allocator crash when mount is finished. For the time being I bypassed these things, just to test if trying to write actually hits the writeAt( ). And it worked. (screenshot attached below)
Also thanks for giving tips to improve testing in my last post. It worked and by renaming my test module I can now test without rebooting the VM.
Now regarding btrfs, I want to understand it now so that the coding period of GSoC won’t be wasted in basic research of the topic. Any tips or guide is highly appreciated.
Regards.
