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.Dd September 27, 2009
34.Dt MOUNT_HAMMER 8
35.Os
36.Sh NAME
37.Nm mount_hammer
38.Nd mount a HAMMER file system
39.Sh SYNOPSIS
40.Nm
41.Op Fl o Ar options
42.Op Fl T Ar transaction-id
43.Ar special ...
44.Ar node
45.Nm
46.Op Fl o Ar options
47.Op Fl T Ar transaction-id
48.Ar special Ns Oo Cm \&: Ns Ar special Oc Ns *
49.Ar node
50.Nm
51.Fl u
52.Op Fl o Ar options
53.Ar node
54.Sh DESCRIPTION
55The
56.Nm
57utility mounts a
58.Nm HAMMER
59file system backed by
60.Ar special
61file(s) at mount point
62.Ar node .
63.Pp
64The options are as follows:
65.Bl -tag -width indent
66.It Fl o Ar options
67Options are specified with a
68.Fl o
69flag followed by a comma separated string of options.
70See the
71.Xr mount 8
72man page for possible options and their meanings.
73The following
74.Nm HAMMER
75specific options are also available:
76.Bl -tag -width indent
77.It Cm nohistory
78Put the entire file system in no-history mode.
79Change history is not retained.
80Use of this option may increase the overhead of doing mirroring.
81This option is generally only used in an emergency.
82.It Cm master= Ns Ar id
83Assign a master id for the entire mount which applies to all PFSs under
84the mount.
85This is intended to help support multi-master and fail-over operation.
86Multi-master operation is not yet supported.
87If you intend
88to upgrade slaves to masters and downgrade masters to slaves as part of
89a fail-over setup, it's a good idea to assign a different master id
90to the
91.Nm HAMMER
92mounts making up the fail-over group.
93.It Cm nomirror
94By default a
95.Nm HAMMER
96mount assigns a master id of 0.
97You can force no-mirror operation by specifying this option.
98This option disables
99mirror transaction id propagation in the B-Tree and will improve write
100performance somewhat but also prevents incremental mirroring from working
101at all, and is not recommended.
102.El
103.It Fl T Ar transaction-id
104Mount the file system as-of a particular
105transaction id.
106The mount will automatically be made read-only.
107The
108.Ar transaction-id
109must be specified as a 64 bit hex value prefixed with "0x".
110.It Fl u
111Update the mount point.
112This is typically used to upgrade a mount to
113read-write or downgrade it to read-only.
114.El
115.Sh NOTES
116Note that issuing a read-only mount which requires UNDOs to be run will
117still run the UNDOs, but will not flush the buffer cache buffers until/if
118the mount is updated to read-write.
119.Sh EXAMPLES
120Mount a
121.Nm HAMMER
122file system made up of two volumes onto
123.Pa /mnt :
124.Bd -literal -offset indent
125mount_hammer -o ro,noatime /dev/ad0s1d /dev/ad1s1d /mnt
126.Ed
127.Pp
128A corresponding
129.Xr fstab 5
130entry is:
131.Bd -literal -offset indent
132/dev/ad0s1d:/dev/ad1s1d /mnt hammer ro,noatime
133.Ed
134.Sh DIAGNOSTICS
135Exit status is 0 on success and 1 on error.
136.Sh SEE ALSO
137.Xr mount 2 ,
138.Xr unmount 2 ,
139.Xr fstab 5 ,
140.Xr HAMMER 5 ,
141.Xr disklabel 8 ,
142.Xr disklabel64 8 ,
143.Xr fdisk 8 ,
144.Xr gpt 8 ,
145.Xr hammer 8 ,
146.Xr mount 8 ,
147.Xr newfs_hammer 8
148.Sh HISTORY
149The
150.Nm
151utility first appeared in
152.Dx 1.11 .
153.Sh AUTHORS
154.An Matthew Dillon Aq Mt dillon@backplane.com
155