This is sort of similar in design to the old school Unix Filesystem (UFS), moreso than Ext4 (which grew out of similar ideas and of course, still has inodes and data blocks and a superblock, but also has a lot of other things going on).<p>In a production Rust filesystem, I would not use libc types lid uid_t and gid_t in defining the on-disk format -- they may vary from libc to libc, but you probably want your filesystem to be portable between systems.