- A BSD licensed, compatible implementation of NILFS2 (NiLFS) was last month merged in NetBSD. The ``NiLFS'' is a separate implementation developed by Reinoud Zandijk. It supports currently read-only access, but full read-write support is also planned. Congratulations!
Please see NiLFS(2) import for details.
-- Aug 7, 2009 JST.
- NILFS utilities 2.0.14 was released. This release fixed a privilege escalation vulnerability found in mkfs.nilfs2. The problem comes from the fact that a Makefile of the utility package inadequately set suid bit. It is highly recommended to upgrade to this version if you built tools from the sources on this site. Users using a distro package do not suffer the problem because the suid bit is dropped. Sorry for inconvenience. This release also includes a few security enhancements and a bugfix of the start-up failure of GC which occurs if nilfs is applied to a root filesystem without initrd.
-- Jul 20, 2009 JST.
- NILFS 2.0.15 was released. Several bugs in error paths including hang after write failures, were fixed. This release also improves read performance on some fast drives.
-- Jul 11, 2009 JST.
- NILFS utilities 2.0.13 was released. The reported cleanerd failure on mount was fixed. The rmcp command was enhanced so that it can handle range of checkpoint numbers.
-- Jun 22, 2009 JST.
- nilfs.org and the nilfs mailing list will stop
from June 12 9:00 a.m. to June 15 0:30 a.m. UTC due to planned power outage.
A mirror site is available
during the period (the mailing list and git repositories are not available).
Sorry for inconvenience.
We are back, thank you. June 15, 2009 JST
-- Jun 9, 2009 JST.
- NILFS 2.0.14 was released. A memory leak problem slipped into nilfs-2.0.13 was fixed. Users using the version 2.0.13 are recommended to upgrade to this version.
-- May 23, 2009 JST.
- NILFS 2.0.13 was released. Several bug-fixes were backported from the mainline kernel. They include fixes for possible memory access overrun due to incorrect ioctl argument data, circular locking problems, GC failure due to checkpoint removal error, possible recovery failures, and so forth.
-- May 17, 2009 JST.
- NILFS version 2 was merged in the Linux Kernel 2.6.30-rc1.
-- Apr 8, 2009 JST.
- NILFS utilities 2.0.12 was released. Some reported bugs of userland tools were fixed. The lscp and lssu commands were improved to reduce latency time for listing many items and allow partial output of checkpoints or segments with additional options.
-- Apr 2, 2009 JST.
- NILFS 2.0.12 was released. This release fixed GC-related problems causing filesystem corruption and fixed false detections of kernel lock dependency checks.
-- Mar 30, 2009 JST.
- NILFS 2.0.11 and NILFS utilities 2.0.11 were released. The kernel module introduced nanosecond resolution timestamps and resolved a problem on the tar program that it infrequently fails to expand symbolic links on nilfs. This (and perhaps some later versions) of nilfs2-utils display a warning message on mount, which notices possibility of disk format change.
-- Mar 13, 2009 JST.
- NILFS 2.0.10 and NILFS utilities 2.0.10 were released. This set enhances reliability of nilfs2 file system against corruption of super block. It extends mkfs.nilfs2 and kernel module to treat secondary super block, which is a backup copy of the primary super block. Previously, no extra super blocks are used, and the partition became unmountable if the primary super block broke. This extension doesn't break disk format compatibility. Other changes include, for example, a new checkpoint flag which allows applications to distinguish whether each checkpoint is created by file system change or just internal operation such as garbage collection.
-- Mar 7, 2009 JST.
- NILFS 2.0.9 and NILFS utilities 2.0.9 were released. These fix the cleanerd bug causing incorrect removal of protected checkpoints, and an endian problem in checksumming for super block. The latter problem may cause compatibility issue for future releases on big endian machines, and this release would help to avoid the problem.
-- Mar 4, 2009 JST.
- NILFS 2.0.8 and NILFS utilities 2.0.8 were released. These correct compatibility problems of ioctl interface. In prior versions, for example, 32-bit nilfs-utils has malfunctioned on x86-64 kernels. To use the new module, users need to upgrade utilities to nilfs-utils-2.0.8 as already announced. The disk format has not changed. Sorry for inconvenience.
-- Feb 19, 2009 JST.
- NILFS 2.0.7 and NILFS utilities 2.0.7 were released. They fix several problems that may cause malfunction of cleanerd and buggy behavior of lscp command seen in enumerating checkpoints. We have a plan to change binary interface (i.e. ioctl) in the next release to fix compatibility issues between kernel module and userland tools. It won't lose disk format compatibility, but old userland tools will become unsupported for later modules.
-- Feb 11, 2009 JST.
- NILFS 2.0.6 was released. It supports kernel 2.6.28 and fixes a problem causing cleanerd shutdown on volumes keeping numerous snapshots. B-tree lookup routines were adjusted to return proper errors instead of causing BUG_ON() failures when they run into an invalid node block. Compat code to support old kernels prior to 2.6.18 was removed
-- Jan 12, 2009 JST.
- NILFS 2.0.5 was released. Kernel 2.6.27 was supported. Some problems including a memory shortage during ioctl, a reset problem of DAT block count due to GC, a possible infinite loop of a list operation, and an improper error handling of a superblock writeback function, were fixed. In addition, similar code between inode allocator and DAT allocator was unified, and the peculiar page cache used to buffer B-tree node blocks was eliminated. These effectively reduced the amount of source code. Further code cleanups, which came from kernel patch submissions, were taken in.
-- Oct 23, 2008 JST.
- NILFS utilities 2.0.6 was released. fixed a cleaner bug causing kernel panic for more than 512 snapshots.
-- Oct 17, 2008 JST.
- NILFS 2.0.4 was released. Fixed hangup problem while deleting very large files, and supported kernel 2.6.27-rc1 experimentally.
-- Aug 6, 2008 JST.
- NILFS 2.0.3 and NILFS utilities 2.0.5 were released. Kernel versions up to 2.6.26 were supported. Build problems for ia64 machines or newer kernels were fixed. A hang problem after read/write remount was fixed. Mount.nilfs2 supported a fake option. Writeback implementation was improved to avoid prolonged page locking during writebacks. Other changes include code cleanups to improve readability, remove redundancies, and resolve checkpatch warnings.
-- Jul 14, 2008 JST.
- NILFS utilities 2.0.4 was released. The segmentation fault that occured if mount.nilfs2 was directly invoked without passing through /sbin/mount, was fixed.
-- Jun 20, 2008 JST.
- nilfs.org and the nilfs mailing list will stop
from June 10 6:00 a.m. to 7:00 a.m. UTC and
from June 13 9:00 a.m. to June 16 0:30 a.m. UTC
due to system maintenance and planned power outage respectively.
Sorry for inconvenience.
We are back, thank you. June 16, 2008 JST
-- Jun 9, 2008 JST.
- NILFS utilities 2.0.3 was released. fix a package problem that `make dist-bzip2' creates a tarball without man pages and so forth. This release is equivalent to nilfs-utils-2.0.2 for the rest.
-- May 22, 2008 JST.
- NILFS utilities 2.0.2 was released. Man pages are added to the utility package.
-- May 20, 2008 JST.
- A summary of NILFS2 usage was put on What is NILFS? page.
-- May 9, 2008 JST.
- NILFS binary packages for several distributions are available.
See Download page.
-- Mar 31, 2008 JST.
- NILFS 2.0.2 was released. A critical bug was fixed.
The NILFS 2.0.1 failed to mount NILFS2 partitions that had been used by previous versions of NILFS2.
A debug print routine was added to help debugging around page routines.
-- Mar 26, 2008 JST.
- NILFS 2.0.1 was released. NILFS 2.0.1 had a critical compatibility issue. Use 2.0.2 instead.
Supported an nfs exporting. Incorporated changes on nilfs_fs.h to prepare for future extensions.
Arithmetic range overflow of fs/alloc.h was fixed.
Cleaned up source codes according to the Linux Coding Style by using scripts/checkpatch.pl.
-- Mar 24, 2008 JST.
- We have launched git repositories.
You can get the latest source code with git (see http://www.nilfs.org/git/).
-- Feb 22, 2008 JST.
- NILFS 2.0.0 was released. It is our great pleasure to announce the release of the NILFS 2.0.0.
Supported kernel 2.6.25-rc2 experimentally.
Reflected the changes of ioctl() interface on NILFS 2.0.0-testing-9 to ioctl32().
See What is NILFS page about NILFS Version 2.
-- Feb 18, 2008 JST.
- NILFS 2.0.0-testing-9 was released. This is a yet another testing version.
Supported kernel 2.6.25-rc1 experimentally.
Fixed compiler error when CONFIG_LBD kernel configuration option is not defined,
a NULL-pointer dereference when snapshot was mounted with wrong options,
hangup problem under a near disk full condition and write routine bugs
that cause system hangup.
Fixed the problem that a NILFS partition mounted at boot time could
not be unmounted manually.
-- Feb 13, 2008 JST.
- NILFS 2.0.0-testing-8 was released. This is one more testing version!
Fixed timing problems, a dead lock problem and memory allocation failures.
These fixes improve the stability further.
-- Dec 27, 2007 JST.
- NILFS 2.0.0-testing-7 was released. This would be the last testing release.
Failures in case where the block size is smaller than the page size are fixed.
Leak bugs of btree node buffers and
possible failures due to missing exclusion controls are fixed.
NILFS2 supports kernel 2.6.24-rc3 and PowerPC64 architecture experimentally.
-- Nov 29, 2007 JST.
- NILFS 2.0.0-testing-6 was released. A serious problem around the page reclamation was fixed.
The problem causes a potential corruption of meta data files or regular files.
The stability is improved, especially for small memory machines.
It is strongly recommended to update NILFS2 version to 2.0.0-testing-6.
-- Oct 22, 2007 JST.
- NILFS 1.0.18 was released. A serious problem around the page reclamation was fixed.
The problem causes a potential corruption of meta data files or regular files.
-- Oct 22, 2007 JST.
- The www.nilfs.org and the nilfs mailing list will be stopped
from Oct 20 0:00 a.m. to 8:00 a.m. UTC for power failure.
Sorry for your inconvenience.
We are back now, Thank you. Oct 22, 2007 JST
-- Oct 17, 2007 JST.
- NILFS 2.0.0-testing-5 was released. A serious problem was fixed. The problem causes a deadlock and destroys an important internal meta-data file.
The stability is greatly improved.
-- Oct 15, 2007 JST.
- NILFS 2.0.0-testing-4 was released. Supported kernel 2.6.23.
Fixed some problems, but still under testing. We are trying to identify bugs that arise during garbage collection.
-- Oct 11, 2007 JST.
- NILFS 2.0.0-testing-3 was released. Supported kernel 2.6.22 and 2.6.23-rc1 experimentally.
Fixed some serious problems that cause assertion violation, deadlock and data corruption.
mkfs.nilfs2 can format regular files.
-- Jul 24, 2007 JST.
- NILFS 1.0.17 was released. Supported kernel 2.6.22 experimentally.
-- Jul 24, 2007 JST.
- NILFS 2.0.0-testing-2 was released. Applied readahead to meta-data files to improve performance.
Fixed a problem that the lscp and other userland tools might
fail on Ubuntu 6 if a samba mounted partition exists.
-- Jun 20, 2007 JST.
- NILFS 2.0.0-testing was released. It is our pleasure to announce the release of the NILFS 2.0.0 (-testing).
The Garbage Collector (Cleaner) with numerous snapshots is implemented to NILFS.
Download and try it!
This is a testing release, you may meet unexpected BUGON, losting files, etc.
If you meet an error such that /sbin/nilfs_cleanerd: error while loading shared libraries: libnilfs.so.0: cannot open shared object file: No such file or directory,
could you type "/sbin/ldconfig /usr/lib" or get utils tarball again? Sorry for your inconvenience.
-- Jun 13, 2007 JST.
- We will hold a BOF session in Linux Symposium Ottawa June, 2007, titled "Filesystem support for continuous snapshotting". Please join to discuss if you are general kernel hacker or you're interested in snapshotting.
-- May 24, 2007 JST.
- NILFS 1.0.16 was released. Supported kernel 2.6.21 experimentally. Fixed problems around building mkfs.nilfs and recovery from disk failure.
Improved an operability with the Autofs.
NILFS version 2 will be available soon, a Garbage Collector (Cleaner) is in operation!
-- May 24, 2007 JST.
- NILFS 1.0.15 was released. Supported kernel 2.6.20 experimentally. Fixed a bug of checksum calculations.
Old nilfs data created on big-endian machines become not mountable by this fix. (Sorry for inconvenience.)
Copynilfs: supported backup to a remote device experimentally.
Fixed problems around sketch file, copynilfs and inspect.
-- Feb 15, 2007 JST.
- NILFS 1.0.14 was released. Fixed a lock violation in the mmap write implementation.
It causes an assertion failure on kernels where a spinlock debug
option is enabled.
The support of kernel 2.6.10 was stopped in relation to this change.
Fixed many bugs about CPU byte-order.
-- Oct 25, 2006 JST.
- NILFS 1.0.13 was released. Supported kernel 2.6.19-rc1 experimentally.
Fixed a bug that drove mmap writes (msync) into failure on
kernel 2.6.17 and the later versions.
-- Oct 12, 2006 JST.
- NILFS 1.0.12 was released. Supported the kernel 2.6.18. Fixed a bug of rollforward code and
incorrect endian conversions for directory entry inode numbers.
-- Oct 3, 2006 JST.
- NILFS 1.0.11 was released. Fixed an assertion failure in super.c raised for snapshot mounts.
It is strongly recommended to update NILFS version 1.0.10 to 1.0.11.
Removed unused locks from on-memory structures.
-- Aug 8, 2006 JST.
- NILFS 1.0.10 was released. An ``order'' mount option was newly added.
Turned on the barrier mount option by default.
Improved I/O error handlings.
Removed a race condition at reading inode blocks.
Fixed several bugs.
Bug! Mounting snapshot causes assertion error.
It is strongly recommended to update NILFS version 1.0.10 to version 1.0.11.
(added 2006.8.8)
-- Jul 18, 2006 JST.
- NILFS 1.0.9 was released. Mmap write and remount operation were supported.
A few timing problems around Block I/O completion routines and sysfs interface were corrected.
An error of the copynilfs command that occurred when used with rsync-2.6.7, was fixed.
-- May 23, 2006 JST.
- NILFS 1.0.8 was released. Kernel 2.6.16 was newly supported.
The ``copynilfs'', a prototype backup tool of NILFS partitions, was
added with its document and auxiliaries. The command inspect supported readline.
-- Mar 23, 2006 JST.
- NILFS 1.0.7 was released. A bug that may break on-disk data, and some minor bugs were fixed.
We start testing the NILFS on x86_64 architecture. Several data structures on
disk had been `packed' to keep compatiblity between 32bit and 64bit platforms.
If you already have a NILFS file system partiton on x86_64,
could you format the partition again?
Sorry for inconvenience.
-- Mar 8, 2006 JST.
- NILFS 1.0.6 was released. Segment fragmentation was reduced. A bug in making device node on NILFS was fixed.
A checkpoint tagging feature (Checkpoint Sketch) is introduced.
You can store any small data in NILFS checkpoint
for memorandum. See docs/sketch.txt in NILFS tarball.
-- Feb 16, 2006 JST.
- Mailing list in Japanese is available. See Japanese page.
-- Feb 7, 2006 JST.
- NILFS 1.0.5 was released. A hang bug arising when mounted with a dirsync option and a timing dependent
bug of a dedicated writer daemon were fixed. Direct I/O read was implemented.
-- Jan 30, 2006 JST.
- NILFS 1.0.4 was released. Now NILFS works on Linux kernel 2.6.10 through 2.6.15.
Implement a write barrier feature on block device experimentally.
See docs/mount-options.txt
-- Jan 18, 2006 JST.
- NILFS 1.0.3 was released. Now works on Linux kernel 2.6.13 and 2.6.14.
A bug which showed up when CPU Hotplug was enabled was fixed.
-- Nov 22, 2005 JST.
- Mailing list for NILFS is now available!
-- Nov 22, 2005 JST.
- NILFS 1.0.2 was released. Some bugs around dead locks or memory leaks were fixed.
-- Nov 1, 2005 JST.
- The design of this site was changed.
-- Oct 27, 2005 JST.
- NILFS 1.0.1 was released. An SMP-dependent bug was fixed.
-- Oct 6, 2005 JST.
- NILFS 1.0.0 was released. The first release.
-- Sep 26, 2005 JST.