[GSoC 2017] Adding write supports for Btrfs

Blog post by HyChe on Mon, 2017-05-08 13:49

Hello everyone,

My name is Hy (Trac: hyche, freenode IRC: ugen), and this first blog is about my introduction and Btrfs. This is the first time I participate in Google Summer of Code, I also know Haiku through this event. My project in this summer is write supports for Btrfs and my main mentors are mmu_man (François Revol) and tqh (Fredrik Holmqvist).

During the community bonding period, I will

  • Set up my development environment (userlandfs and fs_shell).
  • Dig into the codebase to know more about Haiku kernel, how other support filesystems work and derive it for Btrfs.
  • Try to fix issues to get me familiar with the existed works.


Btrfs (B-tree filesystem) is a filesystem uses B+trees as its main on-disk data structure. It is based on Copy-on-Write (CoW) principle which means it does copy only when a write is necessary. The following works will be implemented to bring off write features:

  • Adding more Btrfs structures.
  • Adding/Modifing tree manipulations (splitting, finding, CoW, etc).
  • Implement file/directory operations.

That's all for now. You can read more details in the reference section. Bye and have a nice day!