1.\" Copyright (c) 2007 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.\" $DragonFly: src/sbin/newfs_hammer/newfs_hammer.8,v 1.10 2008/07/27 16:47:19 thomas Exp $
34.Dd September 28, 2009
35.Dt NEWFS_HAMMER 8
36.Os
37.Sh NAME
38.Nm newfs_hammer
39.Nd construct a new HAMMER file system
40.Sh SYNOPSIS
41.Nm
42.Fl L Ar label
43.Op Fl f
44.Op Fl b Ar bootsize
45.Op Fl m Ar savesize
46.Op Fl u Ar undosize
47.Op Fl V Ar version
48.Ar special ...
49.Sh DESCRIPTION
50The
51.Nm
52utility creates a
53.Nm HAMMER
54file system on device(s)
55.Ar special .
56If multiple devices are specified a single
57.Nm HAMMER
58file system is created
59which spans all of them.
60Each
61.Ar special
62will constitute a volume which the
63.Nm HAMMER
64file system is built on.
65.Nm HAMMER
66file systems are sector-size agnostic, however the
67.Dx
68implementation requires the sector size to be no larger than 16K.
69.Nm HAMMER
70file systems start at a relative offset of 0 and may only be created
71under out-of-band disk labels
72.Po
73.Xr disklabel64 5
74or
75.Xr gpt 8
76labels
77.Pc ,
78or in
79.Xr disklabel 5
80partitions which do not overlap the label area (have a starting sector
81greater than 16).
82.Pp
83.Nm HAMMER
84file systems are designed for large storage systems, up to 1 Exabyte, and
85will not operate efficiently on small storage systems.
86The minimum recommended file system size is 50GB.
87.Nm HAMMER
88must reserve 500MB to 1GB of its storage for reblocking and UNDO.
89In addition,
90.Nm HAMMER
91file systems operating normally, with full history
92retention and daily snapshots, do not immediately reclaim space when
93files are deleted.
94A regular system maintenance job runs once a day by
95.Xr periodic 8
96to handle reclamation.
97.Pp
98.Nm HAMMER
99works best when the machine's normal workload would not otherwise fill
100the file system up in the course of 60 days of operation.
101.Pp
102The options are as follows:
103.Bl -tag -width indent
104.It Fl L Ar label
105All
106.Nm HAMMER
107file systems must be named and names should be unique on a
108per-machine basis.
109.It Fl b Ar bootsize
110Specify a fixed area in which a boot related kernel and data can be stored.
111The
112.Ar bootsize
113is specified in bytes.
114By default a boot area of approximately 4MB will be created.
115.It Fl f
116Force the creation of a
117.Nm HAMMER
118file system with less than 100MB UNDO FIFO.
119This should not be used under normal circumstances.
120.It Fl m Ar savesize
121Specify a fixed area which
122.Nm HAMMER
123may use as a memory log.
124This area is currently unused.
125The
126.Ar savesize
127is specified in bytes.
128.It Fl u Ar undosize
129Specify the size of the fixed UNDO FIFO.
130The
131.Ar undosize
132is specified in bytes.
133By default 0.1% of the root
134volume's size is used, with a reasonable minimum and a reasonable cap.
135The UNDO FIFO is used to sequence meta-data out to the media for instant
136crash recovery.
137.It Fl V Ar version
138Specify the
139.Nm HAMMER
140file system version to format.
141By default
142.Nm
143formats the file system using the highest production version number
144supported by the
145.Nm HAMMER
146VFS by checking the
147.Va vfs.hammer.supported_version
148sysctl.
149If you need to maintain compatibility with an older version of
150.Nm HAMMER
151you may specify the version with this option.
152.El
153.Pp
154The
155.Ar bootsize ,
156.Ar savesize
157and
158.Ar undosize
159can be given with a suffix of
160.Cm K , M , G
161or
162.Cm T
163meaning kilobyte, megabyte, gigabyte and terabyte.
164Lower case can also be used for suffix.
165.Sh EXAMPLES
166.Bd -literal -offset indent
167newfs_hammer -L Home /dev/ad0s1d
168.Ed
169.Pp
170Create a file system named
171.Sq Home
172on
173.Pa /dev/ad0s1d .
174.Sh DIAGNOSTICS
175Exit status is 0 on success and 1 on error.
176.Sh SEE ALSO
177.Xr disklabel 5 ,
178.Xr disklabel64 5 ,
179.Xr HAMMER 5 ,
180.Xr fdisk 8 ,
181.Xr gpt 8 ,
182.Xr newfs 8
183.Sh HISTORY
184The
185.Nm
186utility first appeared in
187.Dx 1.11 .
188.Sh AUTHORS
189.An Matthew Dillon Aq dillon@backplane.com
190