GSoC 2020 Final Report: XFS File System

Blog post by CruxBox on Sun, 2020-08-30 17:58

Hello there! This is the final report on my project which aimed at initiating support for XFS Filesystem on Haiku, by first making a read only driver.


Work done during the program:

You can check for the patches here: https://review.haiku-os.org/q/hashtag:gsoc2020+owner:shubhambhagat111%2540yahoo.com

All directory and files work is completed and we should be able to read them from a version 4 XFS Filesystem. I’ve come to realize that we can now even try to read version 5 of XFS now that the ground work has been placed.

GSoC 2020 Project Update: XFS

Blog post by CruxBox on Tue, 2020-08-11 17:58

Hello there! There is quite a lot to share about the work done this month.


Work done so far:

You can check for the patches here: https://review.haiku-os.org/q/hashtag:gsoc2020+owner:shubhambhagat111%2540yahoo.com In short: All directory work is done. This includes ShortForm Directories, Block Directories, Leaf Directories, Node Directories and B+Tree based Directories.

Detailed view at the work:
(Some context: Leaf entries containt hash values of a directory entry name and also the address of that entry. We use this for fast lookups.)

GSoC 2020 Project Update: XFS

Blog post by CruxBox on Sun, 2020-06-07 20:45

Hello there! It’s been exactly a month since my last post. Sorry for not posting much!


Work done so far: You can check for the patches here: https://review.haiku-os.org/q/hashtag:gsoc2020+owner:shubhambhagat111%2540yahoo.com

But in short this is what is done,

  • Made some small change in the File System interface docs to make the working of readdir a little more understandable.
  • Inodes can now be read from disk, it was interesting to see how inode was located on the disk itself though. Had to try a few times until I got it right.
  • Implemented read_stat and get_vnode hook. It’s not really anything complex I think. I took inspiration of implementation from other FileSystems we have and I guess by reading the docs.
  • Short Directories can now be read. This means when the entries inside a directory are less, all the entry metadata can be stored inside the inode itself. Getting this to work was exciting!
  • Block Directories can now be read. Ofcourse the number of entries might increase and we might want to do better than short directories. Hence, a directory block (4KB in my test), is used to store all metadata of entries. I tried and I could have around 100ish directory entries inside a block directory.

I feel initially quite some time was spent on structuring things a little bit. To understand how to make something work.

GSoC 2020 Project: Adding XFS file system in Haiku

Blog post by CruxBox on Mon, 2020-05-11 23:35

Sorry for the late post, but here we go!

Introduction:

I am Shubham Bhagat, a sophomore, currently majoring in Computer Science Engineering from Indian Institute of Information Technology, Sricity, India. I came across Haiku, last November (2019), while I was looking for an operating system I could contribute to. My interest to contribute came from a mini college course. I knew Haiku was also part of GSoC for many years now, so getting the chance to work as an intern and learn here was a no brainer. So THANK YOU for selecting me as a mentee!