xref: /freebsd/sbin/newfs/newfs.8 (revision bb15ca603fa442c72dde3f3cb8b46db6970e3950)
1.\" Copyright (c) 1983, 1987, 1991, 1993, 1994
2.\"	The Regents of the University of California.  All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\" 4. Neither the name of the University nor the names of its contributors
13.\"    may be used to endorse or promote products derived from this software
14.\"    without specific prior written permission.
15.\"
16.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26.\" SUCH DAMAGE.
27.\"
28.\"     @(#)newfs.8	8.6 (Berkeley) 5/3/95
29.\" $FreeBSD$
30.\"
31.Dd June 22, 2011
32.Dt NEWFS 8
33.Os
34.Sh NAME
35.Nm newfs
36.Nd construct a new UFS1/UFS2 file system
37.Sh SYNOPSIS
38.Nm
39.Op Fl EJNUjlnt
40.Op Fl L Ar volname
41.Op Fl O Ar filesystem-type
42.Op Fl S Ar sector-size
43.Op Fl T Ar disktype
44.Op Fl a Ar maxcontig
45.Op Fl b Ar block-size
46.Op Fl c Ar blocks-per-cylinder-group
47.Op Fl d Ar max-extent-size
48.Op Fl e Ar maxbpg
49.Op Fl f Ar frag-size
50.Op Fl g Ar avgfilesize
51.Op Fl h Ar avgfpdir
52.Op Fl i Ar bytes
53.Op Fl m Ar free-space
54.Op Fl o Ar optimization
55.Op Fl p Ar partition
56.Op Fl r Ar reserved
57.Op Fl s Ar size
58.Ar special
59.Sh DESCRIPTION
60The
61.Nm
62utility is used to initialize and clear file systems before first use.
63The
64.Nm
65utility builds a file system on the specified special file.
66(We often refer to the
67.Dq special file
68as the
69.Dq disk ,
70although the special file need not be a physical disk.
71In fact, it need not even be special.)
72Typically the defaults are reasonable, however
73.Nm
74has numerous options to allow the defaults to be selectively overridden.
75.Pp
76The following options define the general layout policies:
77.Bl -tag -width indent
78.It Fl E
79Erase the content of the disk before making the filesystem.
80The reserved area in front of the superblock (for bootcode) will not be erased.
81.Pp
82This option is only relevant for flash based storage devices that use
83wear-leveling algorithms.
84.Pp
85Erasing may take a long time as it writes to every sector on the disk.
86.It Fl J
87Enable journaling on the new file system via gjournal.
88See
89.Xr gjournal 8
90for details.
91.It Fl L Ar volname
92Add a volume label to the new file system.
93.It Fl N
94Cause the file system parameters to be printed out
95without really creating the file system.
96.It Fl O Ar filesystem-type
97Use 1 to specify that a UFS1 format file system be built;
98use 2 to specify that a UFS2 format file system be built.
99The default format is UFS2.
100.It Fl T Ar disktype
101For backward compatibility.
102.It Fl U
103Enable soft updates on the new file system.
104.It Fl a Ar maxcontig
105Specify the maximum number of contiguous blocks that will be
106laid out before forcing a rotational delay.
107The default value is 16.
108See
109.Xr tunefs 8
110for more details on how to set this option.
111.It Fl b Ar block-size
112The block size of the file system, in bytes.
113It must be a power of 2.
114The
115default size is 32768 bytes, and the smallest allowable size is 4096 bytes.
116The optimal block:fragment ratio is 8:1.
117Other ratios are possible, but are not recommended,
118and may produce poor results.
119.It Fl c Ar blocks-per-cylinder-group
120The number of blocks per cylinder group in a file system.
121The default is to compute the maximum allowed by the other parameters.
122This value is
123dependent on a number of other parameters, in particular the block size
124and the number of bytes per inode.
125.It Fl d Ar max-extent-size
126The file system may choose to store large files using extents.
127This parameter specifies the largest extent size that may be used.
128The default value is the file system blocksize.
129It is presently limited to a maximum value of 16 times the
130file system blocksize and a minimum value of the file system blocksize.
131.It Fl e Ar maxbpg
132Indicate the maximum number of blocks any single file can
133allocate out of a cylinder group before it is forced to begin
134allocating blocks from another cylinder group.
135The default is about one quarter of the total blocks in a cylinder group.
136See
137.Xr tunefs 8
138for more details on how to set this option.
139.It Fl f Ar frag-size
140The fragment size of the file system in bytes.
141It must be a power of two
142ranging in value between
143.Ar blocksize Ns /8
144and
145.Ar blocksize .
146The default is 4096 bytes.
147.It Fl g Ar avgfilesize
148The expected average file size for the file system.
149.It Fl h Ar avgfpdir
150The expected average number of files per directory on the file system.
151.It Fl i Ar bytes
152Specify the density of inodes in the file system.
153The default is to create an inode for every
154.Pq 4 * Ar frag-size
155bytes of data space.
156If fewer inodes are desired, a larger number should be used;
157to create more inodes a smaller number should be given.
158One inode is required for each distinct file, so this value effectively
159specifies the average file size on the file system.
160.It Fl j
161Enable soft updates journaling on the new file system.
162This flag is implemented by running the
163.Xr tunefs 8
164utility found in the user's
165.Dv $PATH .
166.It Fl l
167Enable multilabel MAC on the new file system.
168.It Fl m Ar free-space
169The percentage of space reserved from normal users; the minimum free
170space threshold.
171The default value used is
172defined by
173.Dv MINFREE
174from
175.In ufs/ffs/fs.h ,
176currently 8%.
177See
178.Xr tunefs 8
179for more details on how to set this option.
180.It Fl n
181Do not create a
182.Pa .snap
183directory on the new file system.
184The resulting file system will not support snapshot generation, so
185.Xr dump 8
186in live mode and background
187.Xr fsck 8
188will not function properly.
189The traditional
190.Xr fsck 8
191and offline
192.Xr dump 8
193will work on the file system.
194This option is intended primarily for memory or vnode-backed file systems that
195do not require
196.Xr dump 8
197or
198.Xr fsck 8
199support.
200.It Fl o Ar optimization
201.Cm ( space
202or
203.Cm time ) .
204The file system can either be instructed to try to minimize the time spent
205allocating blocks, or to try to minimize the space fragmentation on the disk.
206If the value of minfree (see above) is less than 8%,
207the default is to optimize for
208.Cm space ;
209if the value of minfree is greater than or equal to 8%,
210the default is to optimize for
211.Cm time .
212See
213.Xr tunefs 8
214for more details on how to set this option.
215.It Fl p Ar partition
216The partition name (a..h) you want to use in case the underlying image
217is a file, so you don't have access to individual partitions through the
218filesystem.
219Can also be used with a device, e.g.
220.Nm
221.Fl p Ar f
222.Ar /dev/da1s3
223is equivalent to
224.Nm
225.Ar /dev/da1s3f .
226.It Fl r Ar reserved
227The size, in sectors, of reserved space
228at the end of the partition specified in
229.Ar special .
230This space will not be occupied by the file system;
231it can be used by other consumers such as
232.Xr geom 4 .
233Defaults to 0.
234.It Fl s Ar size
235The size of the file system in sectors.
236This value defaults to the size of the
237raw partition specified in
238.Ar special
239less the
240.Ar reserved
241space at its end (see
242.Fl r ) .
243A
244.Ar size
245of 0 can also be used to choose the default value.
246A valid
247.Ar size
248value cannot be larger than the default one,
249which means that the file system cannot extend into the reserved space.
250.It Fl t
251Turn on the TRIM enable flag.
252If enabled, and if the underlying device supports the BIO_DELETE
253command, the file system will send a delete request to the underlying
254device for each freed block.
255The trim enable flag is typically set when the underlying device
256uses flash-memory as the device can use the delete command to
257pre-zero or at least avoid copying blocks that have been deleted.
258.El
259.Pp
260The following options override the standard sizes for the disk geometry.
261Their default values are taken from the disk label.
262Changing these defaults is useful only when using
263.Nm
264to build a file system whose raw image will eventually be used on a
265different type of disk than the one on which it is initially created
266(for example on a write-once disk).
267Note that changing any of these values from their defaults will make
268it impossible for
269.Xr fsck 8
270to find the alternate superblocks if the standard superblock is lost.
271.Bl -tag -width indent
272.It Fl S Ar sector-size
273The size of a sector in bytes (almost never anything but 512).
274.El
275.Sh EXAMPLES
276.Dl newfs /dev/ad3s1a
277.Pp
278Creates a new ufs file system on
279.Pa ad3s1a .
280The
281.Nm
282utility will use a block size of 32768 bytes, a fragment size of 4096 bytes
283and the largest possible number of blocks per cylinders group.
284These values tend to produce better performance for most applications
285than the historical defaults
286(8192 byte block size and 1024 byte fragment size).
287This large fragment size may lead to much wasted space
288on file systems that contain many small files.
289.Sh SEE ALSO
290.Xr fdformat 1 ,
291.Xr geom 4 ,
292.Xr disktab 5 ,
293.Xr fs 5 ,
294.Xr bsdlabel 8 ,
295.Xr camcontrol 8 ,
296.Xr dump 8 ,
297.Xr dumpfs 8 ,
298.Xr fsck 8 ,
299.Xr gjournal 8 ,
300.Xr growfs 8 ,
301.Xr makefs 8 ,
302.Xr mount 8 ,
303.Xr tunefs 8 ,
304.Xr gvinum 8
305.Rs
306.%A M. McKusick
307.%A W. Joy
308.%A S. Leffler
309.%A R. Fabry
310.%T A Fast File System for UNIX
311.%J ACM Transactions on Computer Systems 2
312.%V 3
313.%P pp 181-197
314.%D August 1984
315.%O (reprinted in the BSD System Manager's Manual)
316.Re
317.Sh HISTORY
318The
319.Nm
320utility appeared in
321.Bx 4.2 .
322