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.
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.)
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.
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!