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