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 NEWFS_HAMMER 8 35.Os 36.Sh NAME 37.Nm newfs_hammer 38.Nd construct a new HAMMER file system 39.Sh SYNOPSIS 40.Nm 41.Fl L Ar label 42.Op Fl \&Ef 43.Op Fl b Ar bootsize 44.Op Fl m Ar savesize 45.Op Fl u Ar undosize 46.Op Fl V Ar version 47.Ar special ... 48.Sh DESCRIPTION 49The 50.Nm 51utility creates a 52.Nm HAMMER 53file system on device(s) 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. 64The first 65.Ar special 66specified becomes the 67.Ar root-volume . 68.Nm HAMMER 69file systems are sector-size agnostic, however the 70.Dx 71implementation requires the sector size to be no larger than 16KB. 72.Nm HAMMER 73file systems start at a relative offset of 0 and may only be created 74under out-of-band disk labels 75.Po 76.Xr disklabel64 5 77or 78.Xr gpt 8 79labels 80.Pc , 81or in 82.Xr disklabel32 5 83partitions which do not overlap the label area (have a starting sector 84greater than 16). 85.Pp 86.Nm HAMMER 87file systems are designed for large storage systems, up to 1 Exabyte, and 88will not operate efficiently on small storage systems. 89The minimum recommended file system size is 50GB. 90.Nm HAMMER 91must reserve 500MB to 1GB of its storage for reblocking and UNDO/REDO. 92In addition, 93.Nm HAMMER 94file systems operating normally, with full history 95retention and daily snapshots, do not immediately reclaim space when 96files are deleted. 97A regular system maintenance job runs once a day by 98.Xr periodic 8 99to handle reclamation. 100.Pp 101.Nm HAMMER 102works best when the machine's normal workload would not otherwise fill 103the file system up in the course of 60 days of operation. 104.Pp 105The options are as follows: 106.Bl -tag -width indent 107.It Fl L Ar label 108All 109.Nm HAMMER 110file systems must be named and names should be unique on a 111per-machine basis, although 112.Nm 113does not prevent from making file systems with the same label. 114.It Fl b Ar bootsize 115Specify a fixed area in which a boot related kernel and data can be stored. 116This area is currently unused. 117The 118.Ar bootsize 119is specified in bytes. 120.It Fl f 121Force operation. 122This is needed for the creation of a 123.Nm HAMMER 124file system less than 10GB size or 125with less than 500MB UNDO/REDO FIFO. 126This should not be used under normal circumstances. 127.It Fl E 128Use TRIM to erase the device's data before creating the file system. 129The underlying device must have the TRIM sysctl enabled. 130Only devices that support TRIM will have such a sysctl option 131.Va ( kern.cam.da.X.trim_enabled ) . 132.It Fl m Ar savesize 133Specify a fixed area which 134.Nm HAMMER 135may use as a memory log. 136This area is currently unused. 137The 138.Ar savesize 139is specified in bytes. 140.It Fl u Ar undosize 141Specify the size of the fixed UNDO/REDO FIFO. 142The 143.Ar undosize 144is specified in bytes. 145By default 0.1% of the root 146volume's size is used, with a reasonable minimum and a reasonable cap. 147The UNDO/REDO FIFO is used to sequence meta-data out to the media for 148instant crash recovery. 149.It Fl V Ar version 150Specify the 151.Nm HAMMER 152file system version to format. 153By default 154.Nm 155formats the file system using the highest production version number 156supported by the 157.Nm HAMMER 158VFS by checking the 159.Va vfs.hammer.supported_version 160sysctl. 161If you need to maintain compatibility with an older version of 162.Nm HAMMER 163you may specify the version with this option. 164.El 165.Pp 166The 167.Ar bootsize , 168.Ar savesize 169and 170.Ar undosize 171must be given with a suffix of 172.Cm K , M , G 173or 174.Cm T 175meaning kilobyte, megabyte, gigabyte and terabyte. 176Lower case can also be used for suffix. 177.Sh EXIT STATUS 178.Ex -std 179.Sh EXAMPLES 180Create a file system named 181.Sq HOME 182on 183.Pa /dev/ad0s1d : 184.Bd -literal -offset indent 185newfs_hammer -L HOME /dev/ad0s1d 186.Ed 187.Pp 188Create a file system named 189.Sq TEMP 190on 191.Pa /dev/ad0s1d 192and 193.Pa /dev/ad1s1d : 194.Bd -literal -offset indent 195newfs_hammer -L TEMP /dev/ad0s1d /dev/ad1s1d 196.Ed 197.Sh SEE ALSO 198.Xr disklabel32 5 , 199.Xr disklabel64 5 , 200.Xr HAMMER 5 , 201.Xr fdisk 8 , 202.Xr gpt 8 , 203.Xr hammer 8 , 204.Xr newfs 8 , 205.Xr mount_hammer 8 206.Sh HISTORY 207The 208.Nm 209utility first appeared in 210.Dx 1.11 . 211.Sh AUTHORS 212.An Matthew Dillon Aq Mt dillon@backplane.com 213