[PATCH SET] reworking libminixfs, part 1

Skip to first unread message

David van Moolenbroek

Aug 13, 2015, 6:18:07 PM8/13/15
to minix-dev
Dear all,

With this patch set, we are starting to change libminixfs from just the disk block cache code that was previously shared between the mfs file system service and the FSes derived from its code (ext2 and isofs), into a more generic and more proper disk block caching library for use by a wider range of file systems. Most of the patches are the result of issues that I ran into while writing a new file system, which is still ongoing work, but I decided to commit them now because one patch happens to solve a serious corruption problem with memory-mapped files that keeps triggering on master as well.

Hopefully some day there will be a part 2 that adds proper support for subpage block sizes, which not only could allow the library to be used for file systems such as FAT, but also effectively cut the memory usage of ISOFS in half (something we hope will soon become more important!). I don't see any fundamental problems for such a part 2; it's just a matter of actually doing the work (and, the bigger issue: testing it properly). A rename of the library is probably in order as well.


http://gerrit.minix3.org/3055 - libminixfs: add support for 64-bit block numbers
http://gerrit.minix3.org/3056 - libminixfs/VM: fix memory-mapped file corruption
http://gerrit.minix3.org/3057 - libminixfs: add support for memory-mapped holes
http://gerrit.minix3.org/3058 - libminixfs: add support for peeking blocks
http://gerrit.minix3.org/3059 - libminixfs: do not flush blocks that are in use
http://gerrit.minix3.org/3060 - libminixfs: miscellaneous API cleanup
http://gerrit.minix3.org/3061 - libminixfs: keep track of block usage
http://gerrit.minix3.org/3062 - libminixfs: better support for read errors and EOF
http://gerrit.minix3.org/3063 - libminixfs: rework prefetch API

Reply all
Reply to author
0 new messages