NILFS2 Against Btrfs & EXT4 On Linux 3.2
It's been a while since last benchmarking NILFS2, a file-system that's been in the Linux kernel since 2.6.30, so in this article are some fresh NILFS2 benchmarks from the Linux 3.2 development kernel compared to the EXT4 and Btrfs file-systems.
For those that do not recall NILFS2 due to all of the excitement being centered on Btrfs and EXT4, NILFS2 is a continuous-snapshotting log-structured file-system for Linux. It supports online resizing, files up to 8 EiB in size, uses a B-tree structure for fils and inode blocks, and is designed to be a very safe file-system in case of hardware/software failure. The official description from the NILFS project site is: "NILFS is a log-structured file system supporting versioning of the entire file system and continuous snapshotting which allows users to even restore files mistakenly overwritten or destroyed just a few seconds ago."
When Linux 3.2 kernel is final, more file-system tests will be delivered. In this article is just a look at NILFS2 compared to EXT4 and Btrfs from a solid-state notebook system. The stock file-system mount options were used for all three tested file-systems. As the latest Linux kernel Git is borked for the ThinkPad W510 notebook, the Linux 3.2-rc2 kernel was used for testing.
Testing was facilitated in a fully automated manner via the Phoronix Test Suite.