Page 1 of 1

Simple framework for developing filesystems in userspace

Posted: Wed Nov 23, 2022 4:59 pm
by tretornesp
Hello there.

As I found a lot of trouble porting FatFS to my kernel I decided to create my
own implementation of the filesystems (Fat32 and Ext2) that I plan to support.

For that task, I decided to invest a few days in developing a framework to test
the FS in userspace before running them on the kernel (for sake of my own sanity)

As a way to contribute a bit to this awesome community, I'm posting the code:

https://github.com/TretornESP/FUSED

The aim is to emulate a FatFS-enabled disk driver but supported by a raw file. The development roadmap is:

- Basic primitives (Read, Write, Startup, Status and IOCTL)
- Lazy mode loading for the files (currently it just mmaps it, which is a bad idea for big files)
- Buffer cache emulation (probably just introducing preconfigured delays on a miss, open to ideas)
- SSD Wear emulation (gathering stats)

In case you decide to give it a try, please don't doubt in asking any questions, I will gladly assist you!

Thank you all!