newfs_lfs
—
construct a new LFS file system
newfs_lfs |
[newfs_lfs-options]
special |
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.
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.
A newlfs
command appeared in
4.4BSD, and was renamed to
newfs_lfs
for NetBSD 1.4.