ngo
ngo copied to clipboard
Steps to Enable Async-SFS + SwornDisk as the RootFS
-
[ ] Modify the UnionFS We can modify the unionfs to accept async-sfs as the RW layer and the integrity-protected SEFS as the RO layer. By doing this, we can take the advantage of sefs-cli tool and the read-performance of SEFS. Thanks to the write-performance of async-sfs, the I/O throughout will meet our expectations.
-
[ ] Improve functionality of Async-SFS Currently, the max file size is 4GB and the max fs size is 16TB in async-sfs , which is at the same level as EXT2. We should support bigger file size and bigger fs size to be equal to EXT4. The max file size is 16TB and the max fs size is 1EB in EXT4.
-
[ ] Improve the Usability The total size of async-sfs should be configured in Occlum.json(or Occlum.yaml in the future), which is a bother for users. Can we just calculate the size according to the remaining disk size of Host OS? If the configuration is too big, just return an error to tell the users. The page cache size should be configurable for users, and the kernel_space_heap_size can be expanded from the page cache size automatically.
-
[ ] Improve the Stability Test the stability of Async-SFS + SwornDisk for all the demos
-
[ ] (Optional)Remove the
as_sync_inode
workaround used in vm If the executable binary may be stored in async-sfs, the vm subsystem should load it from async Inode instead of sync Inode. So the workaround should be fixed.