Creation of ExFS2 Virtual Filesystem in C
Budget: $30 – $250 USD
implementing a virtual filesystem called ExFS2 in C. This filesystem will not use disk partitions but will instead store its entire structure in a set of 1MB files on the host machine, divided into inode segments (containing inodes and inode bitmaps) and data segments (containing 4KB data blocks and free block maps). Your program should support command-line operations to list the filesystem (-l), add files (-a), remove files or directories (-r), extract files (-e), and debug the inode structure (-D). Inodes must support direct, single indirect, and optionally double/triple indirect blocks. When files or directories are added, you must traverse the path starting from the root, create missing directories, allocate new inodes and data blocks, and store everything inside the segment files. If segments run out of space, your program must create new ones dynamically. All file data and metadata must be kept within these segment files—no shortcuts or external file tracking is allowed. Your output files must match the originals exactly, even for binary content. You must also provide a Makefile to compile your program and a README.md that explains your implementation, testing process, and any known issues.