User: Password:
Subscribe / Log in / New account

nilfs2: continuous snapshotting file system

From:  Ryusuke Konishi <>
To:  Andrew Morton <>
Subject:  [PATCH 0/27] nilfs2: continuous snapshotting file system
Date:  Mon, 15 Sep 2008 04:07:57 +0900
Message-ID:  <>
Archive-link:  Article

This is a new patch set for the nilfs2 file system.

The first submission is found at:

The old patch was not divided, and this time I divided it into 27

 The patch #1 adds a document to Documentation/filesystems/
 The patch #2 adds a header file of the disk format to include/linux/
 The patches #2-#26 adds nilfs2 source files to fs/nilfs2/
 and the patch #27 updates Makefile and Kconfig.

This patch set also includes some cleanups and improvements.  The main
changes from the previous patch are as follows:

 * Use the standard mm/ cache instead of uniquely implemented page
   cache to hold B-tree node buffers; the peculiar page cache was
   removed by this.

 * Integrate two similar allocators found in DAT and inode file.

 * Read requests for GC blocks are now submitted in parallel to
   mitigate GC overhead.

More than 2,000 lines are reduced by the cleanups.

The patch set is available from

If you like a git tree: nilfs2
 ( gitweb: )

The userland tools are included in the nilfs-utils package
which is available on

In this example, /dev/sdb1 is used as a nilfs2 partition.

- To use nilfs2 as a local file system, simply:

 # mkfs -t nilfs2 /dev/sdb1
 # mount -t nilfs2 /dev/sdb1 /dir

 This will also invoke the cleaner through the mount helper program

- Checkpoints and snapshots are managed by the following commands.
 Their manpages are included in the nilfs-utils package.

  lscp     list checkpoints or snapshots.
  mkcp     make a checkpoint or a snapshot.
  chcp     change an existing checkpoint to a snapshot or vice versa.
  rmcp     invalidate specified checkpoint(s).

 For example,

 # lscp /dev/sdb1

 will list checkpoints on the device.
 The block device argument is omissible if there is no other nilfs2

 # chcp ss 2

 will change the past checkpoint No. 2 into snapshot.

 # mkcp -s

 will make a snapshot of the current state.

 # lscp -s

 will list snapshots

- To mount a snapshot, use the read-only option and cp= option.

 # mount -t nilfs2 -r -o cp=<cno> /dev/sdb1 /snap_dir

 where <cno> is the checkpoint number of the snapshot.
 Snapshots are mountable concurrently with the writable mount.

To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to
More majordomo info at

Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds