checkpoint of hacking for mail.cs.berkeley.edu
[unix-history] / usr / src / sbin / newfs / newfs.8
index 57d1a6f..4286676 100644 (file)
-.\" Copyright (c) 1983 Regents of the University of California.
-.\" All rights reserved.  The Berkeley software License Agreement
-.\" specifies the terms and conditions for redistribution.
+.\" Copyright (c) 1983, 1987, 1991 The Regents of the University of California.
+.\" All rights reserved.
 .\"
 .\"
-.\"    @(#)newfs.8     6.3 (Berkeley) %G%
+.\" %sccs.include.redist.man%
 .\"
 .\"
-.TH NEWFS 8 ""
-.UC 5
-.SH NAME
-newfs \- construct a new file system
-.SH SYNOPSIS
-.B /etc/newfs
-[
-.B \-N
-] [
-.B \-v
-] [
-.B \-n
-] [
-.B mkfs-options
-]
-.B special disk-type
-.SH DESCRIPTION
-.I Newfs
-is a ``friendly'' front-end to the
-.IR mkfs (8)
+.\"     @(#)newfs.8    6.10 (Berkeley) %G%
+.\"
+.Dd 
+.Dt NEWFS 8
+.Os BSD 4.2
+.Sh NAME
+.Nm newfs ,
+.Nm mfs
+.Nd construct a new file system
+.Sh SYNOPSIS
+.Nm newfs
+.Op Fl N
+.Op Ar newfs-options
+.Ar special
+.Nm mfs
+.Op Fl F Ar mount_flags
+.Op Ar newfs-options
+.Ar special node
+.Sh DESCRIPTION
+.Nm Newfs
+replaces the more obtuse
+.Xr mkfs 8
 program.
 program.
-.I Newfs
-will look up the type of disk a file system is
-being created on in the disk description
-file
-.IR /etc/disktab ,
-calculate the appropriate
-parameters to use in calling
-.IR mkfs ,
-then build the file system by forking 
-.I mkfs 
-and, if the file system is a root partition,
-install the necessary bootstrap programs
-in the initial 8 sectors of the device.
-The
-.B \-n
-option prevents the 
-bootstrap programs from being installed.
-The
-.B \-N
-option causes the file system parameters to be printed out
-without actually creating the file system.
-.PP
-If the 
-.B \-v
-option is supplied, 
-.I newfs
-will print out its actions, including
-the parameters passed to
-.IR mkfs .
-.PP
-Options which may be used to override default
-parameters passed to
-.I mkfs
-are:
-.TP 10
-.B \-s size
-The size of the file system in sectors.
-.TP 10
-.B \-b block-size
+Before running 
+.Nm newfs
+or
+.Nm mfs ,
+the disk must be labeled using 
+.Xr disklabel 8 .
+.Nm Newfs
+builds a file system on the specified special device
+basing its defaults on the information in the disk label.
+Typically the defaults are reasonable, however
+.Nm newfs
+has numerous options to allow the defaults to be selectively overridden.
+.Pp
+.Nm Mfs
+is used to build a file system in virtual memory and then mount it
+on a specified node.
+.Nm Mfs
+exits and the contents of the file system are lost
+when the file system is unmounted.
+If
+.Nm mfs
+is sent a signal while running,
+for example during system shutdown,
+it will attempt to unmount its
+corresponding file system.
+The parameters to
+.Nm mfs
+are the same as those to
+.Nm newfs .
+The special file is only used to read the disk label which provides
+a set of configuration parameters for the memory based file system.
+The special file is typically that of the primary swap area,
+since that is where the file system will be backed up when
+free memory gets low and the memory supporting
+the file system has to be paged.
+.Pp
+The following options define the general layout policies.
+.Bl -tag -width Fl
+.It Fl N
+Causes the file system parameters to be printed out
+without really creating the file system.
+.It Fl b Ar block-size
 The block size of the file system in bytes.  
 The block size of the file system in bytes.  
-.TP 10
-.B \-f frag-size
+.It Fl f Ar frag-size
 The fragment size of the file system in bytes.
 The fragment size of the file system in bytes.
-.TP 10
-.B \-t #tracks/cylinder
-.TP 10
-.B \-c #cylinders/group
-The number of cylinders per cylinder group in a file system.
-The default value used is 16.
-.TP 10
-.B \-m free space %
+.It Fl m Ar free space \&%
 The percentage of space reserved from normal users; the minimum
 The percentage of space reserved from normal users; the minimum
-free space threshhold.  The default value used is 10%.
-.TP 10
-.B \-o optimization preference (``space'' or ``time'')
+free space threshold.  The default value used is 10%.
+See
+.Xr tunefs 8
+for more details on how to set this option.
+.It Fl o Ar optimization\ preference
+.Pq ``space'' or ``time''
 The file system can either be instructed to try to minimize the time spent
 allocating blocks, or to try to minimize the space fragmentation on the disk.
 If the value of minfree (see above) is less than 10%,
 the default is to optimize for space;
 if the value of minfree greater than or equal to 10%,
 the default is to optimize for time.
 The file system can either be instructed to try to minimize the time spent
 allocating blocks, or to try to minimize the space fragmentation on the disk.
 If the value of minfree (see above) is less than 10%,
 the default is to optimize for space;
 if the value of minfree greater than or equal to 10%,
 the default is to optimize for time.
-.TP 10
-.B \-r revolutions/minute
-The speed of the disk in revolutions per minute (normally 3600).
-.TP 10
-.B \-S sector-size
-The size of a sector in bytes (almost never anything but 512).
-.TP 10
-.B \-i number of bytes per inode
+See
+.Xr tunefs 8
+for more details on how to set this option.
+.It Fl a Ar maxcontig
+This specifies the maximum number of contiguous blocks that will
+be laid out before forcing a rotational delay (see
+.Fl d
+below).
+The default value is one.
+See
+.Xr tunefs 8
+for more details on how to set this option.
+.It Fl d Ar rotdelay
+This specifies the expected time (in milliseconds)
+to service a transfer completion
+interrupt and initiate a new transfer on the same disk.
+The default is 4 milliseconds.
+See
+.Xr tunefs 8
+for more details on how to set this option.
+.It Fl e Ar maxbpg
+This indicates the maximum number of blocks any single file can
+allocate out of a cylinder group before it is forced to begin
+allocating blocks from another cylinder group.
+The default is about one quarter of the total blocks in a cylinder group.
+See
+.Xr tunefs 8
+for more details on how to set this option.
+.It Fl i Ar number of bytes per inode
 This specifies the density of inodes in the file system.
 The default is to create an inode for each 2048 bytes of data space.
 If fewer inodes are desired, a larger number should be used;
 to create more inodes a smaller number should be given.
 This specifies the density of inodes in the file system.
 The default is to create an inode for each 2048 bytes of data space.
 If fewer inodes are desired, a larger number should be used;
 to create more inodes a smaller number should be given.
-.SH FILES
-/etc/disktab   for disk geometry and file system partition information 
-.br
-/etc/mkfs      to actually build the file system
-.br
-/usr/mdec      for boot strapping programs
-.SH "SEE ALSO"
-disktab(5),
-fs(5),
-diskpart(8),
-fsck(8),
-format(8),
-mkfs(8),
-tunefs(8)
-.PP
-M. McKusick, W. Joy, S. Leffler, R. Fabry,
-``A Fast File System for UNIX'',
-\fIACM Transactions on Computer Systems 2\fP, 3.
-pp 181-197, August 1984.
-(reprinted in the System Manager's Manual, SMM:14)
-.SH BUGS
-Should figure out the type of the disk without the user's help.
+.It Fl c Ar #cylinders/group
+The number of cylinders per cylinder group in a file system.
+The default value used is 16.
+.It Fl s Ar size
+The size of the file system in sectors.
+.Pp
+The following options override the standard sizes for the disk geometry. 
+Their default values are taken from the disk label.
+Changing these defaults is useful only when using
+.Nm newfs
+to build a file system whose raw image will eventually be used
+on a different type of disk than the one on which it is initially
+created (for example on a write-once disk).
+Note that changing any of these values from their
+defaults will make it impossible for 
+.Xr fsck
+to find the alternate superblocks if the standard super block is lost.
+.It Fl r Ar revolutions/minute
+The speed of the disk in revolutions per minute.
+.It Fl S Ar sector-size
+The size of a sector in bytes (almost never anything but 512).
+.It Fl u Ar sectors/track
+The number of sectors per track available for data
+allocation by the file system.  This does not
+include sectors reserved at the end of each track
+for bad block replacement (see
+.Fl p
+below).
+.It Fl t Ar #tracks/cylinder
+The number of tracks/cylinder available for data
+allocation by the file system.
+.It Fl p Ar spare sectors per track
+Spare sectors (bad sector replacements) are physical sectors
+that occupy space at the end of each track.
+They are not counted as part of the sectors/track
+.Pq Fl u
+since they are not available to the file system for data allocation.
+.It Fl x Ar spare sectors per cylinder
+Spare sectors (bad sector replacements) are physical sectors
+that occupy space at the end of the last track in the cylinder.
+They are deducted from the sectors/track
+.Pq Fl u
+of the last track of each cylinder
+since they are not available to the file system for data allocation.
+.It Fl l Ar hardware sector interleave
+Used to describe perturbations in the media format to
+compensate for a slow controller.
+Interleave is physical sector interleave on each track,
+specified as the denominator of the ratio:
+.Dl sectors read/sectors passed over
+Thus an interleave of 1/1 implies contiguous layout, while 1/2
+implies logical sector 0 is separated by one sector from logical
+sector 1.
+.It Fl k Ar sector \&0 skew , per track
+Used to describe perturbations in the media format to
+compensate for a slow controller.
+Track skew is the offset of sector 0 on track N
+relative to sector 0 on track N-1 on the same cylinder.
+.Pp
+.El
+The following option applies only to
+.Nm mfs .
+.Bl -tag -width Fl
+.It Fl F Ar mount flags
+Used to pass in a decimal numeric value to be passed
+as mount flags when running as a memory based file system.
+This option is primarily intended for use when
+.Nm mfs
+is started by the
+.Xr mount 8
+command.
+.El
+.Sh SEE ALSO
+.Xr disktab 5 ,
+.Xr fs 5 ,
+.Xr disklabel 8 ,
+.Xr diskpart 8 ,
+.Xr fsck 8 ,
+.Xr format 8 ,
+.Xr tunefs 8
+.Rs
+.%A M. McKusick
+.%A W. Joy
+.%A S. Leffler
+.%A R. Fabry
+.%T A Fast File System for UNIX ,
+.%J ACM Transactions on Computer Systems 2
+.%V 3
+.%P pp 181-197
+.%D August 1984
+.%O (reprinted in the BSD System Manager's Manual)
+.Re
+.Sh HISTORY
+The
+.Nm
+command appeared in
+.Bx 4.2 .