1.\" 2.\" Copyright (c) 2001 Dima Dorfman. 3.\" All rights reserved. 4.\" 5.\" Redistribution and use in source and binary forms, with or without 6.\" modification, are permitted provided that the following conditions 7.\" are met: 8.\" 1. Redistributions of source code must retain the above copyright 9.\" notice, this list of conditions and the following disclaimer. 10.\" 2. Redistributions in binary form must reproduce the above copyright 11.\" notice, this list of conditions and the following disclaimer in the 12.\" documentation and/or other materials provided with the distribution. 13.\" 14.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24.\" SUCH DAMAGE. 25.\" 26.\" $FreeBSD$ 27.\" 28.Dd August 5, 2001 29.Dt MDMFS 8 30.Os 31.Sh NAME 32.Nm mdmfs , 33.Nm mount_mfs 34.Nd configure and mount an in-memory file system using the 35.Xr md 4 36driver 37.Sh SYNOPSIS 38.Nm 39.Op Fl DLMNSUX 40.Op Fl a Ar maxcontig 41.Op Fl b Ar block-size 42.Op Fl c Ar cylinders 43.Op Fl d Ar rotdelay 44.Op Fl e Ar maxbpg 45.Op Fl F Ar file 46.Op Fl f Ar frag-size 47.Op Fl i Ar bytes 48.Op Fl m Ar percent-free 49.Op Fl n Ar rotational-positions 50.Op Fl O Ar optimization 51.Op Fl o Ar mount-options 52.Op Fl p Ar permissions 53.Op Fl s Ar size 54.Op Fl v Ar version 55.Op Fl w Ar user : Ns Ar group 56.Ar md-device 57.Ar mount-point 58.Nm 59.Fl C 60.Op Fl NU 61.Op Fl a Ar maxcontig 62.Op Fl b Ar block-size 63.Op Fl c Ar cylinders 64.Op Fl d Ar rotdelay 65.Op Fl e Ar maxbpg 66.Op Fl F Ar file 67.Op Fl f Ar frag-size 68.Op Fl i Ar bytes 69.Op Fl m Ar percent-free 70.Op Fl n Ar rotational-positions 71.Op Fl O Ar optimization 72.Op Fl o Ar mount-options 73.Op Fl s Ar size 74.Op Fl v Ar version 75.Ar md-device 76.Ar mount-point 77.Sh DESCRIPTION 78The 79.Nm 80utility is designed to be a work-alike and look-alike of the deprecated 81.Xr mount_mfs 8 . 82The end result is essentially the same, 83but is accomplished in a completely different way. 84The 85.Nm 86utility configures an 87.Xr md 4 88disk using 89.Xr mdconfig 8 , 90puts a UFS file system on it using 91.Xr newfs 8 , 92and mounts it using 93.Xr mount 8 . 94All the command line options are passed to the appropriate program 95at the appropriate stage in order to achieve the desired effect. 96.Pp 97By default, 98.Nm 99creates a swap-based 100.Pq Dv MD_SWAP 101disk with soft-updates enabled 102and mounts it on 103.Ar mount-point . 104It uses the 105.Xr md 4 106device specified by 107.Ar md-device . 108If 109.Ar md-device 110is 111.Ql md 112(no unit number), 113it will use 114.Xr md 4 Ns 's 115auto-unit feature to automatically select an unused device. 116Unless otherwise specified with one of the options below, 117it uses the default arguments to all the helper programs. 118.Pp 119The following options are available. 120Where possible, 121the option letter matches the one used by 122.Xr mount_mfs 8 123for the same thing. 124.Bl -tag -width indent 125.It Fl a Ar maxcontig 126Specify the maximum number of contiguous blocks that will be laid 127out before forcing a rotational delay 128(see the 129.Fl d 130option). 131.It Fl b Ar block-size 132The block size of the file system, in bytes. 133.It Fl C 134Enable full compatibility mode with 135.Xr mount_mfs 8 . 136See the 137.Sx COMPATIBILITY 138section for more information. 139.It Fl c Ar cylinders 140The number of cylinders per cylinder group in the file system. 141.It Fl D 142If not using auto-unit, 143do not run 144.Xr mdconfig 8 145to try to detach the unit before attaching it. 146.It Fl d Ar rotdelay 147Specify the minimum time in milliseconds required to initiate another 148disk transfer on the same cylinder. 149Modern disks with read/write-behind achieve higher performance without 150this feature, 151so it is best to leave it at 0 milliseconds. 152.It Fl e Ar maxbpg 153Indicate the maximum number of blocks any single file can allocate 154out of a cylinder group before it is forced to begin allocating 155blocks from another cylinder group. 156.It Fl F Ar file 157Create a vnode-backed 158.Pq Dv MD_VNODE 159memory disk backed by 160.Ar file . 161.It Fl f Ar frag-size 162The fragment size of the file system in bytes. 163.It Fl i Ar bytes 164Number of bytes per inode. 165.It Fl L 166Show the output of the helper programs. 167By default, 168it is sent to 169.Pa /dev/null . 170.It Fl M 171Create a 172.Xr malloc 9 173backed disk 174.Pq Dv MD_MALLOC 175instead of a swap-backed disk. 176.It Fl m Ar percent-free 177The percentage of space reserved for the superuser. 178.It Fl N 179Do not actually run the helper programs. 180This is most useful in conjunction with 181.Fl X . 182.It Fl n Ar rotational-positions 183The default number of rotational positions to distinguish. 184.It Fl O Ar optimization 185Select the optimization preference; 186valid choices are 187.Cm space 188and 189.Cm time , 190which will optimize for minimum space fragmentation and 191minimum time spent allocating blocks, 192respectively. 193.It Fl o Ar mount-options 194Specify the mount options with which to mount the file system. 195See 196.Xr mount 8 197for more information. 198.It Fl p Ar permissions 199Set the file (directory) permissions of the mount point 200.Ar mount-point 201to 202.Ar permissions . 203.It Fl S 204Do not enable soft-updates on the file system. 205.It Fl s Ar size 206Specify the size of the disk to create. 207This only makes sense if 208.Fl F 209is 210.Em not 211specified. 212That is, 213this will work for the default swap-backed 214.Pq Dv MD_SWAP 215disks, 216and the optional 217.Pq Fl M 218.Xr malloc 9 219backed disks 220.Pq Dv MD_MALLOC . 221.It Fl U 222Enable soft-updates on the file system. 223This is the default, even in compatibility mode, and is accepted only 224for compatibility. 225It is only really useful to negate the 226.Fl S 227flag, should such a need occur. 228.It Fl v Ar version 229Specify the UFS version number for use on the file system; it may be 230either 231.Dv 1 232or 233.Dv 2 . 234The default is derived from the default of the 235.Xr newfs 8 236command. 237.It Fl w Ar user : Ns Ar group 238Set the owner and group to 239.Ar user 240and 241.Ar group , 242respectively. 243The arguments have the same semantics as with 244.Xr chown 8 , 245but specifying just a 246.Ar user 247or just a 248.Ar group 249is not supported. 250.It Fl X 251Print what command will be run before running it, and 252other assorted debugging information. 253.El 254.Pp 255The 256.Fl F 257and 258.Fl s 259options are passed to 260.Xr mdconfig 8 261as 262.Fl f 263and 264.Fl s , 265respectively. 266The 267.Fl a , b , c , d , e , f , i , m 268and 269.Fl n 270options are passed to 271.Xr newfs 8 272with the same letter; 273the 274.Fl O 275option is passed to 276.Xr newfs 8 277as 278.Fl o . 279The 280.Fl o 281option is passed to 282.Xr mount 8 283with the same letter. 284See the programs that the options are passed to for more information 285on their semantics. 286.Sh EXAMPLES 287Create and mount a 32 megabyte swap-backed file system on 288.Pa /tmp : 289.Pp 290.Dl "mdmfs -s 32m md /tmp" 291.Pp 292Create and mount a 16 megabyte malloc-backed file system on 293.Pa /tmp 294using the 295.Pa /dev/md1 296device; 297furthermore, 298do not use soft-updates on it and mount it 299.Cm async : 300.Pp 301.Dl "mdmfs -M -S -o async -s 16m md1 /tmp" 302.Sh COMPATIBILITY 303The 304.Nm 305utility, while designed to be fully compatible with 306.Xr mount_mfs 8 , 307can be useful by itself. 308Since 309.Xr mount_mfs 8 310had some silly defaults, a 311.Dq full compatibility 312mode is provided for the case where bug-to-bug compatibility is desired. 313.Pp 314Full compatibility is enabled with the 315.Fl C 316flag, 317or by starting 318.Nm 319with the name 320.Li mount_mfs 321or 322.Li mfs 323(as returned by 324.Xr getprogname 3 ) . 325In this mode, only the options which would be accepted by 326.Xr mount_mfs 8 327are valid. 328Furthermore, the following behavior, as done by 329.Xr mount_mfs 8 , 330is duplicated: 331.Bl -bullet -offset indent 332.It 333The file mode of 334.Ar mount-point 335is set to 336.Li 01777 337as if 338.Fl p Ar 1777 339was given on the command line. 340.El 341.Sh SEE ALSO 342.Xr md 4 , 343.Xr fstab 5 , 344.Xr mdconfig 8 , 345.Xr mount 8 , 346.Xr newfs 8 347.Sh AUTHORS 348.An Dima Dorfman 349