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 December 31, 2015
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 EXIT STATUS
120.Ex -std
121.Sh EXAMPLES
122Mount a
123.Nm HAMMER
124file system made up of two volumes onto
125.Pa /mnt :
126.Bd -literal -offset indent
127mount_hammer -o ro,noatime /dev/ad0s1d /dev/ad1s1d /mnt
128.Ed
129.Pp
130Above is equivalent to below using blkdevs format for
131.Nm HAMMER
132volumes as
133.Nm
134supports both formats.
135.Bd -literal -offset indent
136mount_hammer -o ro,noatime /dev/ad0s1d:/dev/ad1s1d /mnt
137.Ed
138.Pp
139A corresponding
140.Xr fstab 5
141entry is:
142.Bd -literal -offset indent
143/dev/ad0s1d:/dev/ad1s1d /mnt hammer ro,noatime
144.Ed
145.Sh SEE ALSO
146.Xr mount 2 ,
147.Xr unmount 2 ,
148.Xr fstab 5 ,
149.Xr HAMMER 5 ,
150.Xr disklabel 8 ,
151.Xr disklabel64 8 ,
152.Xr fdisk 8 ,
153.Xr gpt 8 ,
154.Xr hammer 8 ,
155.Xr mount 8 ,
156.Xr newfs_hammer 8
157.Sh HISTORY
158The
159.Nm
160utility first appeared in
161.Dx 1.11 .
162.Sh AUTHORS
163.An Matthew Dillon Aq Mt dillon@backplane.com
164