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