XFS FUSE Implementation

Project Description

This project is part of GSoC'21. In this project, I've worked on a read-only userland implementation of the XFS Filesystem through the FUSE kernel interface. This involved writing the client in Rust using the fuse crate.


Test Plan

Some unit tests have been written, but the coverage is weak. The coverage could be expanded as a future plan. I have also tested the filesystem manually and verified each functionality.

Weekly Progress

Wiki Entry

Week 10

Week 9

Week 8

Week 7

Week 6

Week 5

Week 4

Week 3

Week 2

Week 1

The Code

The code was maintained in a GitHub repo that I own. Patches were usually pushed directly to the main branch. I included a little bit of documentation on how to run the project, how it's structured, and how to start contributing to it in the README.md and CONTRIBUTING.md files. I also included a man page as a documentation on how to use. Finally, I have included a License that is compatible with FreeBSD. Code was written from scratch in this repo. All the project's target were met.

I have attached a patch file to create the necessary files in order to create a FreeBSD ports package.

What Lies Ahead

I think first and foremost I have test again and again and iron out all the bugs if found. Secondly, I have to refactor the code for better readability and performance. Finally and as for additional features, we could add journal logs support or add write support, although the latter would be a huge undertaking.


SummerOfCode2021Projects/XFSFUSEImplementation (last edited 2021-08-21T17:19:56+0000 by KhaledEmaraDev)