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 October 7, 2011 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 16K. 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. 112.It Fl b Ar bootsize 113Specify a fixed area in which a boot related kernel and data can be stored. 114The 115.Ar bootsize 116is specified in bytes. 117By default a boot area of approximately 4MB will be created. 118.It Fl f 119Force operation. 120This is needed for the creation of a 121.Nm HAMMER 122file system less than 10GB size or 123with less than 500MB UNDO/REDO FIFO. 124This should not be used under normal circumstances. 125.It Fl E 126Use TRIM to erase the device's data before creating the file system. 127The underlying device must have the TRIM sysctl enabled. 128Only devices that support TRIM will have such a sysctl option 129.Va ( kern.cam.da.X.trim_enabled ) . 130.It Fl m Ar savesize 131Specify a fixed area which 132.Nm HAMMER 133may use as a memory log. 134This area is currently unused. 135The 136.Ar savesize 137is specified in bytes. 138.It Fl u Ar undosize 139Specify the size of the fixed UNDO/REDO FIFO. 140The 141.Ar undosize 142is specified in bytes. 143By default 0.1% of the root 144volume's size is used, with a reasonable minimum and a reasonable cap. 145The UNDO/REDO FIFO is used to sequence meta-data out to the media for 146instant crash recovery. 147.It Fl V Ar version 148Specify the 149.Nm HAMMER 150file system version to format. 151By default 152.Nm 153formats the file system using the highest production version number 154supported by the 155.Nm HAMMER 156VFS by checking the 157.Va vfs.hammer.supported_version 158sysctl. 159If you need to maintain compatibility with an older version of 160.Nm HAMMER 161you may specify the version with this option. 162.El 163.Pp 164The 165.Ar bootsize , 166.Ar savesize 167and 168.Ar undosize 169must be given with a suffix of 170.Cm K , M , G 171or 172.Cm T 173meaning kilobyte, megabyte, gigabyte and terabyte. 174Lower case can also be used for suffix. 175.Sh EXAMPLES 176.Bd -literal -offset indent 177newfs_hammer -L Home /dev/ad0s1d 178.Ed 179.Pp 180Create a file system named 181.Sq Home 182on 183.Pa /dev/ad0s1d . 184.Sh DIAGNOSTICS 185Exit status is 0 on success and 1 on error. 186.Sh SEE ALSO 187.Xr disklabel32 5 , 188.Xr disklabel64 5 , 189.Xr HAMMER 5 , 190.Xr fdisk 8 , 191.Xr gpt 8 , 192.Xr newfs 8 193.Sh HISTORY 194The 195.Nm 196utility first appeared in 197.Dx 1.11 . 198.Sh AUTHORS 199.An Matthew Dillon Aq Mt dillon@backplane.com 200