NANDFS(5) FreeBSD File Formats Manual NANDFS(5)


nandfsNAND Flash file system


To compile support for the
, place the following in your kernel configuration file:

options NANDFS

Even though the NAND FS can be used with any storage media, it has been optimized and designed towards NAND Flash devices, so typically the following driver is used:

device nand


The nandfs driver enables FreeBSD with support for NAND-oriented file system.

It is a log-structured style file system with the following major features and characteristics:

  • Hard links, symbolic links support
  • Block journaling
  • Copy-On-Write
  • Snapshots (continuous, taken automatically, simultaneously mountable)
  • Quick crash recovery at mount time
  • 64-bit data structures; supports many files, large files and volumes
  • POSIX file permissions
  • Checksum / ECC


The most common usage is mounting the file system:

mount -t nandfs /dev/<gnandN> /mnt


mount_nandfs /dev/<gnandN> /mnt

where gnandN is the GEOM device representing a Flash partition (slice) containing the nandfs structure, and /mnt is a mount point.

It is possible to define an entry in /etc/fstab for the nandfs:

/dev/gnand0  /flash nandfs  rw 0 0

This will mount a nandfs partition at the specified mount point during system boot.


The NAND FS concepts are based on NILFS principles and initial implementation was derived from early NILFS NetBSD code (read only). Since then the NAND FS code diverged significantly and is by no means compatible with NILFS.

The NAND Flash file system first appeared in FreeBSD 10.0.


The NAND FS was written by Grzegorz Bernacki with the help of Mateusz Guzik, based on the NetBSD code created by Reinoud Zandijk. Additional help and support by Lukasz Plachno, Jan Sieka and Lukasz Wojcik. This manual page was written by Rafal Jaworowski.
November 11, 2010 FreeBSD