Merge branch 'vendor/BINUTILS224'
[dragonfly.git] / sbin / newfs_hammer2 / newfs_hammer2.8
1 .\" Copyright (c) 2011 The DragonFly Project.  All rights reserved.
2 .\"
3 .\" This code is derived from software contributed to The DragonFly Project
4 .\" by Matthew Dillon <dillon@backplane.com>
5 .\"
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
8 .\" are met:
9 .\"
10 .\" 1. Redistributions of source code must retain the above copyright
11 .\"    notice, this list of conditions and the following disclaimer.
12 .\" 2. Redistributions in binary form must reproduce the above copyright
13 .\"    notice, this list of conditions and the following disclaimer in
14 .\"    the documentation and/or other materials provided with the
15 .\"    distribution.
16 .\" 3. Neither the name of The DragonFly Project nor the names of its
17 .\"    contributors may be used to endorse or promote products derived
18 .\"    from this software without specific, prior written permission.
19 .\"
20 .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 .\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
23 .\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
24 .\" COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25 .\" INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
26 .\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27 .\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
28 .\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 .\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
30 .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 .\" SUCH DAMAGE.
32 .\"
33 .Dd May 23, 2011
34 .Dt NEWFS_HAMMER2 8
35 .Os
36 .Sh NAME
37 .Nm newfs_hammer2
38 .Nd construct a new HAMMER2 file system
39 .Sh SYNOPSIS
40 .Nm
41 .Fl L Ar label
42 .Op Fl f
43 .Op Fl b Ar bootsize
44 .Op Fl r Ar redosize
45 .Op Fl V Ar version
46 .Ar special ...
47 .Sh DESCRIPTION
48 The
49 .Nm
50 utility creates a
51 .Nm HAMMER2
52 file system on device(s)
53 .Ar special .
54 If multiple devices are specified a single
55 .Nm HAMMER2
56 file system is created
57 which spans all of them.
58 Each
59 .Ar special
60 will constitute a volume which the
61 .Nm HAMMER2
62 file system is built on.
63 .Nm HAMMER2
64 file systems are sector-size agnostic, however the
65 .Dx
66 implementation requires the sector size to be no larger than 16K.
67 .Nm HAMMER2
68 file systems start at a relative offset of 0 and may only be created
69 under out-of-band disk labels
70 .Po
71 .Xr disklabel64 5
72 or
73 .Xr gpt 8
74 labels
75 .Pc ,
76 or in
77 .Xr disklabel32 5
78 partitions which do not overlap the label area (have a starting sector
79 greater than 16).
80 .Pp
81 .Nm HAMMER2
82 file systems are designed for large storage systems, up to 1 Exabyte, and
83 will not operate efficiently on small storage systems.
84 The minimum recommended file system size is 50GB.
85 .Nm HAMMER2
86 must reserve 500MB to 1GB of its storage for reblocking and UNDO/REDO.
87 In addition,
88 .Nm HAMMER2
89 file systems operating normally, with full history
90 retention and daily snapshots, do not immediately reclaim space when
91 files are deleted.
92 A regular system maintenance job runs once a day by
93 .Xr periodic 8
94 to handle reclamation.
95 .Pp
96 .Nm HAMMER2
97 works best when the machine's normal workload would not otherwise fill
98 the file system up in the course of 60 days of operation.
99 .Pp
100 The options are as follows:
101 .Bl -tag -width indent
102 .It Fl L Ar label
103 All
104 .Nm HAMMER2
105 file systems must be named and names should be unique on a
106 per-machine basis.
107 .It Fl b Ar bootsize
108 Specify a fixed area in which a boot related kernel and data can be stored.
109 The
110 .Ar bootsize
111 is specified in bytes.
112 By default a boot area of approximately 4MB will be created.
113 .It Fl f
114 Force operation.
115 This is needed for the creation of a
116 .Nm HAMMER2
117 file system less than 10GB size or
118 with less than 500MB UNDO/REDO FIFO.
119 This should not be used under normal circumstances.
120 .It Fl r Ar redosize
121 Specify the size of the fixed REDO FIFO.
122 The
123 .Ar redosize
124 is specified in bytes.
125 By default 0.1% of the root
126 volume's size is used, with a reasonable minimum and a reasonable cap.
127 The UNDO/REDO FIFO is used to sequence meta-data out to the media for
128 instant crash recovery.
129 .It Fl V Ar version
130 Specify the
131 .Nm HAMMER2
132 file system version to format.
133 By default
134 .Nm
135 formats the file system using the highest production version number
136 supported by the
137 .Nm HAMMER2
138 VFS by checking the
139 .Va vfs.hammer2.supported_version
140 sysctl.
141 If you need to maintain compatibility with an older version of
142 .Nm HAMMER2
143 you may specify the version with this option.
144 .El
145 .Pp
146 The
147 .Ar bootsize
148 and
149 .Ar redosize
150 must be given with a suffix of
151 .Cm K , M , G
152 or
153 .Cm T
154 meaning kilobyte, megabyte, gigabyte and terabyte.
155 Lower case can also be used for suffix.
156 .Sh EXAMPLES
157 .Bd -literal -offset indent
158 newfs_hammer2 -L Home /dev/ad0s1d
159 .Ed
160 .Pp
161 Create a file system named
162 .Sq Home
163 on
164 .Pa /dev/ad0s1d .
165 .Sh DIAGNOSTICS
166 Exit status is 0 on success and 1 on error.
167 .Sh SEE ALSO
168 .Xr disklabel32 5 ,
169 .Xr disklabel64 5 ,
170 .Xr HAMMER2 5 ,
171 .Xr fdisk 8 ,
172 .Xr gpt 8 ,
173 .Xr newfs 8
174 .Sh HISTORY
175 The
176 .Nm
177 utility first appeared in
178 .Dx 1.11 .
179 .Sh AUTHORS
180 .An Matthew Dillon Aq Mt dillon@backplane.com