News: 0001642949

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

F2FS Integrates FSERROR Reporting, Reduces Memory Footprint In Linux 7.2

([Linux Storage] 5 Hours Ago Linux 7.2 F2FS)


The Flash-Friendly File-System ( [1]F2FS ) changes have landed for Linux 7.2.

One of the most notable changes for F2FS in Linux 7.2 is [2]FSERROR error reporting support . The FSERROR framework was merged in Linux 7.0 for handling [3]generic I/O error reporting that can be common across Linux file-systems rather than each file-system rolling their own reporting implementation. Now with Linux 7.2, F2FS has joined the FSERROR party for standardizing I/O error reporting.

F2FS with Linux 7.2 also reduces the memory footprint of using this file-system by reverting in-memory data structures that are used for runtime validation. Plus a variety of other improvements too. F2FS is now honoring per-I/O write streams for direct writess, mapping data writes to FDP streams, and other optimizations.

The in-memory block bitmap was dropped after being present in the kernel for a decade but the developers in this time never saw any reported cases of in-memory corruption. Thus just wasting memory. The in-memory sit version bitmap was also in F2FS for about a decade without having proven any real-world benefit too and thus dropped for saving memory.

More details on the F2FS feature changes as well as a variety of bug fixes for this flash-optimized file-system can be found via [4]this pull request that has since been merged for Linux 7.2.



[1] https://www.phoronix.com/search/F2FS

[2] https://www.phoronix.com/news/F2FS-FSERROR

[3] https://www.phoronix.com/news/Linux-7.0-VFS

[4] https://lore.kernel.org/lkml/ajrLmn16uMPcc4Lv@google.com/



/*
* [...] Note that 120 sec is defined in the protocol as the maximum
* possible RTT. I guess we'll have to use something other than TCP
* to talk to the University of Mars.
* PAWS allows us longer timeouts and large windows, so once implemented
* ftp to mars will work nicely.
*/
(from /usr/src/linux/net/inet/tcp.c, concerning RTT [retransmission timeout])