Fast Commits for Ext4
lwn.net
lwn.net
Btrfs had this "fast fsync" for a while already btw. (out of necessity -- otherwise fsync would be even more unbearably slow on btrfs). This seemed to be difficult to implement (lots of corner cases). Every release there were "fast fsync" bug fixes such as e.g. https://lore.kernel.org/linux-btrfs/20200220132949.20571-1-f... https://lore.kernel.org/linux-btrfs/20200722112837.15516-1-f... . Let's hope the ext4 version of this has less initial issues.
However, on regular hard drives, filesystem devs and hardware vendors are all incentivized to cheat, since io benchmarks are big and obvious, while dropping data on the floor with power loss or failing hardware is subtle and hard to notice.
In practice, reliably syncing a file can be surprisingly hard: https://danluu.com/file-consistency/
Best books? Websites? Journals? People on Twitter to follow? GitHub projects to watch? YouTube videos?
http://pages.cs.wisc.edu/~remzi/research/
And since you're looking for a GitHub project to watch, I'll go ahead and share TigerBeetle since I'm working on that :) and since we're implementing many of these new storage ideas (disentangling journal corruption from system crashes, protocol-aware recovery for consensus-based storage, hash-chaining to detect misdirected writes and disk corruption, and Direct I/O to recover from the kernel page cache going out of sync with the disk):
https://github.com/coilhq/tigerbeetle
And then finally since you also asked for a YouTube video :) here's a talk we did on Thursday for the Mojaloop Foundation, discussing many of these ideas around storage safety and also around optimizing I/O performance (io_uring, the cost of syscalls and context switches, cache line aligned structures, Direct I/O) and putting this all together into a replicated state machine with strict serializability:
File systems like ext4 are descended from this approach: https://docs.freebsd.org/44doc/smm/05.fastfs/paper.pdf
File systems like btrfs, f2fs, etc are descended from this approach (log structured file systems): https://web.stanford.edu/~ouster/cgi-bin/papers/lfs.pdf
For cloud based storage, the LSM paper (w/ leveldb), and HDFS are good foundational references imho.
Obviously there are a lot of details beyond those areas, but understanding these are fairly short but will give you a basis to get much further to more cutting edge R&D discussions.