Since the basic framework of ovfs is difficult to express with little code, we plan to do some local development under this repository first.
The implementation of virtiofsd includes a built-in small file system (used to forward requests to the local file system) and a lot of code that encapsulates the small file system into virtiofs. From a simple reading, the implementation of these two parts, virtiofsd, is relatively decoupled and defines some common data structures and traits.
Regarding the first goal for now, we current plan is to re-implement the small file system built into virtiofsd through opendal and re-use the encapsulation code of virtiofsd to try to run it, and then continue to delete unnecessary code to make a minimum version of ovfs.
- Add file system related functions based on opendal, such as mkdir, rmdir, create, read, write, etc.
- Implement
FileSystem
trait defined by vritiofsd for ovfs. - Implement
FileReadWriteAtVolatile
trait for opendal buffer to support read and write interaction with the memory in VMs through opendal buffer.
- Run virtiofsd.
- Replace the file system implementation in virtiofsd with ovfs and try to re-run virtiofsd.
Potential completion time: 05.26.