This is a FUSE implementation project that allows users to create and manage custom filesystems in user space.
.
├── src/ # Source code directory
│ ├── filesystem.c # Core filesystem implementation
│ ├── misc.c # Utility functions
│ └── fuse.c # FUSE interface implementation
├── include/ # Header files directory
├── test/ # Unit tests directory
├── diskfmt.py # Disk formatting tool
├── gen-disk.py # Disk image generation tool
├── read-img.py # Disk image reading tool
└── Makefile # Project build file
- macOS operating system
- Python
- FUSE for macOS (installable via Homebrew)
- GCC compiler
- Check unit testing framework (installable via Homebrew)
On macOS, you can install the necessary dependencies using Homebrew:
brew install osxfuse
brew install checkBuild the project using the following command:
make allThis will generate the following files:
fuse: FUSE filesystem executableunittest-1: Unit test suite 1unittest-2: Unit test suite 2test.img: Test disk image 1test2.img: Test disk image 2
Run the unit tests:
./unittest-1
./unittest-2- Generate a disk image:
python gen-disk.py -q disk1.in test.img- Read disk image contents:
python read-img.py test.img- Mount the filesystem:
./fuse [mount_point] [disk_image_file]Clean build files:
make clean- Ensure you have appropriate permissions to mount the filesystem
- This filesystem is intended for educational and testing purposes only