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 July 24, 2008
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 b Ar bootsize
44.Op Fl f
45.Op Fl m Ar savesize
46.Op Fl u Ar undosize
47.Ar special ...
48.Sh DESCRIPTION
49The
50.Nm
51utility creates a
52.Nm HAMMER
53file system on device
54.Ar special .
55If multiple devices are specified a single
56.Nm HAMMER
57file system is created
58which spans all of them.
59Each
60.Ar special
61will constitute a volume which the
62.Nm HAMMER
63file system is built on.
64.Nm HAMMER
65file systems are sector-size agnostic, however the
66.Dx
67implementation requires the sector size to be no larger than 16K.
68.Nm HAMMER
69file systems start at a relative offset of 0 and may only be created
70under out-of-band disk labels
71.Po
72.Xr disklabel64 5
73or
74.Xr gpt 8
75labels
76.Pc ,
77or in
78.Xr disklabel 5
79partitions which do not overlap the label area.
80.Pp
81The options are as follows:
82.Bl -tag -width indent
83.It Fl L Ar label
84All
85.Nm HAMMER
86file systems must be named and names should be unique on a
87per-machine basis.
88.It Fl b Ar bootsize
89Specify a fixed area in which a boot related kernel and data can be stored.
90The
91.Ar bootsize
92is specified in bytes.
93By default a boot area of approximately 4MB will be created.
94.It Fl f
95Force the creation of a
96.Nm HAMMER
97file system with less than 100M UNDO FIFO.
98This should not be used under normal circumstances.
99.It Fl m Ar savesize
100Specify a fixed area which
101.Nm HAMMER
102may use as a memory log.
103This area is currently unused.
104The
105.Ar savesize
106is specified in bytes.
107.It Fl u Ar undosize
108Specify the size of the fixed UNDO FIFO.
109The
110.Ar undosize
111is specified in bytes.
112By default 0.1% of the root
113volume's size is used, with a reasonable minimum and a reasonable cap.
114The UNDO FIFO is used to sequence meta-data out to the media for instant
115crash recovery.
116.El
117.Pp
118The
119.Ar bootsize ,
120.Ar savesize
121and
122.Ar undosize
123can be given with a suffix of
124.Cm K , M , G
125or
126.Cm T
127meaning kilo, mega, giga and tera. Lower case can also be used for suffix.
128.Sh EXAMPLES
129.Bd -literal -offset indent
130newfs_hammer -L Home /dev/ad0s1d
131.Ed
132.Pp
133Create a file system named
134.Sq Home
135on
136.Pa /dev/ad0s1d .
137.Sh DIAGNOSTICS
138Exit status is 0 on success and 1 on error.
139.Sh SEE ALSO
140.Xr HAMMER 5 ,
141.Xr disklabel 5 ,
142.Xr disklabel64 5 ,
143.Xr fdisk 8 ,
144.Xr gpt 8 ,
145.Xr newfs 8
146.Sh HISTORY
147The
148.Nm
149utility first appeared in
150.Dx 1.11 .
151.Sh AUTHORS
152.An Matthew Dillon Aq dillon@backplane.com
153