NEWFS_LFS(8)

NEWFS_LFS(8) | System Manager's Manual | NEWFS_LFS(8)

# NAME

`newfs_lfs` —
construct a new LFS file system

# SYNOPSIS

`newfs_lfs` | [newfs_lfs-options] special

# DESCRIPTION

`newfs_lfs` builds a log-structured file system on the specified special device basing its defaults on the information in the disk label. Before running `newfs_lfs` the disk must be labeled using disklabel(8), the proper fstype is 4.4LFS. Reasonable values for the `fsize`, `bsize`, and `sgs` fields are 1024, 8192, and 7 respectively.

The following options define the general layout policies.

`-A`
  Attempt to compute the appropriate segment size using the formula 4 * bandwidth * access time. The disk is tested for twenty seconds to discover its bandwidth and seek time.
`-B` logical-segment-size
  The logical segment size of the file system in bytes. If not specified, the segment size is computed by left-shifting the partition label's block size by the amount indicated in the partition table's segshift. If the disklabel indicates a zero block size or segment shift, a compile-time default segment size of 1M is used.
`-b` block-size
  The block size of the file system in bytes. If not specified, the block size is taken from the partition label, or if the partition label indicates 0, a compile-time default of 8K is used.
`-F`
  Force creation of an LFS even on a partition labeled as another type. `newfs_lfs` will use compile-time default values for block and fragment size, and segment shift, unless these are overridden by command-line flags.
`-f` fragment-size
  The fragment size of the file system in bytes. If not specified, the fragment size is taken from the partition label, or if the partition label indicates 0, a compile-time default of 1K is used.
`-I` interleave
  Specify the interleave between segments. The default is zero.
`-i`
  The size of an inode block, in bytes. The default is to use the same size as a fragment, or in a v1 filesystem, the same size as a data block.
`-L`
  Create a log-structured file system (LFS). This is the default, and this option is provided for compatibility only.
`-M` nsegs
  Specify lfs_minfreeseg, the number of segments left out of the amount allocated to user data. A higher number increases cleaner performance, while a lower number gives more usable space. The default is based on the size of the filesystem, either 5% of the total number of segments or 20 segments, whichever is larger.
`-m` free space %
  The percentage of space reserved from normal users; the minimum free space threshold. The default value used is 10%.
`-N`
  Do not actually create the filesystem.
`-O` offset
  Start the first segment this many sectors from the beginning of the partition. The default is zero.
`-R` nsegs
  Specify lfs_resvseg, the number of segments set aside for the exclusive use of the cleaner. A larger figure reduces the likelihood of running out of clean segments, but if lfs_resvseg is too close to lfs_minfreeseg, the cleaner will run without ceasing when the filesystem becomes close to full. The default is the larger of 15 or the quantity lfs_minfreeseg / 2 + 1 .
`-r` ident
  For a v2 filesystem, specify the roll-forward identifier for the filesystem. This identifier, a 32-bit numeric quantity, should be different from that of any LFS that may previously have existed on the same disk. By default the identifier is chosen at random.
`-s` size
  The size of the file system in sectors.
`-v` version
  Make a filesystem with the specified disk layout version. Valid options are 1 or 2 (the default). Note, however, that LFS version 1 is deprecated, and 64-bit volumes may not be version 1.
`-w` bitwidth
  Create a filesystem using the specified bit width: 32 or 64. 32-bit LFS volumes are limited to 2TB in size; 64-bit LFS volumes are not, but incur additional overhead from having larger metadata structures. The default is 32-bit for volumes less than 1 TB, and 64-bit for larger volumes.

# SEE ALSO

disktab(5), disklabel(8), diskpart(8), dumplfs(8)

M. Seltzer, K. Bostic, M. McKusick, and C. Staelin, An Implementation of a Log-Structured File System for UNIX, Proceedings of the Winter 1993 USENIX Conference, pp. 315-331, January 25-29, 1993.

J. Matthews, D. Roselli, A. Costello, R. Wang, and T. Anderson, Improving the Performance of Log-Structured File Systems with Adaptive Methods, Proceedings of the Sixteenth ACM SOSP, October 1997.

# HISTORY

A `newlfs` command appeared in 4.4BSD, and was renamed to `newfs_lfs` for NetBSD 1.4.

October 13, 2015 | NetBSD 10.0