NILFS2 is a log-structured file system (LFS) supporting continuous snapshotting. In addition to versioning capability of the entire file system, users can even restore files mistakenly overwritten or destroyed just a few seconds ago. Since this file system can keep consistency like conventional LFS, it achieves quick recovery after system crashes. NILFS2 creates a number of checkpoints every few seconds or per synchronous write basis (unless there is no change). Users can select significant versions among continuously created checkpoints, and can change them into snapshots which will be preserved for long periods until they are changed back to checkpoints. Each snapshot is mountable as a read-only file system concurrently with its writable mount, and this feature is convenient for online backup. Some features including atime, extended attributes, and POSIX ACLs, are not supported yet. To compile this file system support as a module, choose M here: the module will be called nilfs2. If unsure, say N.