xref: /freebsd/sbin/mdmfs/mdmfs.8 (revision f7acb7e404f2e3ba797cdcc633ce48f6bb835322)
14d7de91fSDima Dorfman.\"
2d69f5deeSDima Dorfman.\" Copyright (c) 2001 Dima Dorfman.
34d7de91fSDima Dorfman.\" All rights reserved.
44d7de91fSDima Dorfman.\"
54d7de91fSDima Dorfman.\" Redistribution and use in source and binary forms, with or without
64d7de91fSDima Dorfman.\" modification, are permitted provided that the following conditions
74d7de91fSDima Dorfman.\" are met:
84d7de91fSDima Dorfman.\" 1. Redistributions of source code must retain the above copyright
94d7de91fSDima Dorfman.\"    notice, this list of conditions and the following disclaimer.
104d7de91fSDima Dorfman.\" 2. Redistributions in binary form must reproduce the above copyright
114d7de91fSDima Dorfman.\"    notice, this list of conditions and the following disclaimer in the
124d7de91fSDima Dorfman.\"    documentation and/or other materials provided with the distribution.
134d7de91fSDima Dorfman.\"
144d7de91fSDima Dorfman.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
154d7de91fSDima Dorfman.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
164d7de91fSDima Dorfman.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
174d7de91fSDima Dorfman.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
184d7de91fSDima Dorfman.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
194d7de91fSDima Dorfman.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
204d7de91fSDima Dorfman.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
214d7de91fSDima Dorfman.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
224d7de91fSDima Dorfman.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
234d7de91fSDima Dorfman.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
244d7de91fSDima Dorfman.\" SUCH DAMAGE.
254d7de91fSDima Dorfman.\"
264d7de91fSDima Dorfman.\" $FreeBSD$
274d7de91fSDima Dorfman.\"
28f7acb7e4SDima Dorfman.Dd August 5, 2001
294d7de91fSDima Dorfman.Dt MDMFS 8
304d7de91fSDima Dorfman.Os
314d7de91fSDima Dorfman.Sh NAME
324d7de91fSDima Dorfman.Nm mdmfs
334d7de91fSDima Dorfman.Nd configure and mount an in-memory filesystem using the
344d7de91fSDima Dorfman.Xr md 4
354d7de91fSDima Dorfmandriver
364d7de91fSDima Dorfman.Sh SYNOPSIS
374d7de91fSDima Dorfman.Nm
38f7acb7e4SDima Dorfman.Op Fl DLMNSUX
394d7de91fSDima Dorfman.Op Fl a Ar maxcontig
404d7de91fSDima Dorfman.Op Fl b Ar block-size
414d7de91fSDima Dorfman.Op Fl c Ar cylinders
424d7de91fSDima Dorfman.Op Fl d Ar rotdelay
434d7de91fSDima Dorfman.Op Fl e Ar maxbpg
444d7de91fSDima Dorfman.Op Fl F Ar file
454d7de91fSDima Dorfman.Op Fl f Ar frag-size
464d7de91fSDima Dorfman.Op Fl i Ar bytes
474d7de91fSDima Dorfman.Op Fl m Ar percent-free
484d7de91fSDima Dorfman.Op Fl n Ar rotational-positions
494d7de91fSDima Dorfman.Op Fl O Ar optimization
504d7de91fSDima Dorfman.Op Fl o Ar mount-options
514d7de91fSDima Dorfman.Op Fl p Ar permissions
524d7de91fSDima Dorfman.Op Fl s Ar size
539dde6035SDima Dorfman.Op Fl w Ar user : Ns Ar group
544d7de91fSDima Dorfman.Ar md-device
554d7de91fSDima Dorfman.Ar mount-point
56f7acb7e4SDima Dorfman.Nm
57f7acb7e4SDima Dorfman.Fl C
58f7acb7e4SDima Dorfman.Op Fl NU
59f7acb7e4SDima Dorfman.Op Fl a Ar maxcontig
60f7acb7e4SDima Dorfman.Op Fl b Ar block-size
61f7acb7e4SDima Dorfman.Op Fl c Ar cylinders
62f7acb7e4SDima Dorfman.Op Fl d Ar rotdelay
63f7acb7e4SDima Dorfman.Op Fl e Ar maxbpg
64f7acb7e4SDima Dorfman.Op Fl F Ar file
65f7acb7e4SDima Dorfman.Op Fl f Ar frag-size
66f7acb7e4SDima Dorfman.Op Fl i Ar bytes
67f7acb7e4SDima Dorfman.Op Fl m Ar percent-free
68f7acb7e4SDima Dorfman.Op Fl n Ar rotational-positions
69f7acb7e4SDima Dorfman.Op Fl O Ar optimization
70f7acb7e4SDima Dorfman.Op Fl o Ar mount-options
71f7acb7e4SDima Dorfman.Op Fl s Ar size
72f7acb7e4SDima Dorfman.Ar md-device
73f7acb7e4SDima Dorfman.Ar mount-point
744d7de91fSDima Dorfman.Sh DESCRIPTION
754d7de91fSDima DorfmanThe
764d7de91fSDima Dorfman.Nm
774d7de91fSDima Dorfmanprogram is designed to be a work-alike and look-alike of the deprecated
784d7de91fSDima Dorfman.Xr mount_mfs 8 .
794d7de91fSDima DorfmanThe end result is essentially the same,
804d7de91fSDima Dorfmanbut is accomplished in a completely different way.
814d7de91fSDima Dorfman.Nm
824d7de91fSDima Dorfmanconfigures an
834d7de91fSDima Dorfman.Xr md 4
844d7de91fSDima Dorfmandisk using
854d7de91fSDima Dorfman.Xr mdconfig 8 ,
864d7de91fSDima Dorfmanlabels it using
874d7de91fSDima Dorfman.Xr disklabel 8 ,
884d7de91fSDima Dorfmanputs a UFS filesystem on it using
894d7de91fSDima Dorfman.Xr newfs 8 ,
904d7de91fSDima Dorfmanand mounts it using
914d7de91fSDima Dorfman.Xr mount 8 .
924d7de91fSDima DorfmanAll the command line options are passed to the appropriate program
934d7de91fSDima Dorfmanat the appropriate stage in order to achieve the desired effect.
944d7de91fSDima Dorfman.Pp
954d7de91fSDima DorfmanBy default,
964d7de91fSDima Dorfman.Nm
974d7de91fSDima Dorfmancreates a swap-based
984d7de91fSDima Dorfman.Pq Dv MD_SWAP
994d7de91fSDima Dorfmandisk with soft-updates enabled
1004d7de91fSDima Dorfmanand mounts it on
1014d7de91fSDima Dorfman.Ar mount-point .
1024d7de91fSDima DorfmanIt uses the
1034d7de91fSDima Dorfman.Xr md 4
1044d7de91fSDima Dorfmandevice specified by
1054d7de91fSDima Dorfman.Ar md-device .
1064d7de91fSDima DorfmanIf
1074d7de91fSDima Dorfman.Ar md-device
1084d7de91fSDima Dorfmanis
1094d7de91fSDima Dorfman.Ql md
1104d7de91fSDima Dorfman(no unit number),
1114d7de91fSDima Dorfmanit will use
1124d7de91fSDima Dorfman.Xr md 4 Ns 's
1134d7de91fSDima Dorfmanauto-unit feature to automatically select an unused device.
1144d7de91fSDima DorfmanUnless otherwise specified with one of the options below,
1154d7de91fSDima Dorfmanit uses the default arguments to all the helper programs.
1164d7de91fSDima Dorfman.Pp
1174d7de91fSDima DorfmanThe following options are available.
1184d7de91fSDima DorfmanWhere possible,
1194d7de91fSDima Dorfmanthe option letter matches the one used by
1204d7de91fSDima Dorfman.Xr mount_mfs 8
1214d7de91fSDima Dorfmanfor the same thing.
1229dde6035SDima Dorfman.Bl -tag -width indent
1234d7de91fSDima Dorfman.It Fl a Ar maxcontig
1244d7de91fSDima DorfmanSpecify the maximum number of contiguous blocks that will be laid
1254d7de91fSDima Dorfmanout before forcing a rotational delay
1264d7de91fSDima Dorfman(see the
1274d7de91fSDima Dorfman.Fl d
1284d7de91fSDima Dorfmanoption).
1294d7de91fSDima Dorfman.It Fl b Ar block-size
1304d7de91fSDima DorfmanThe block size of the filesystem, in bytes.
131f7acb7e4SDima Dorfman.It Fl C
132f7acb7e4SDima DorfmanEnable full compatibility mode with
133f7acb7e4SDima Dorfman.Xr mount_mfs 8 .
134f7acb7e4SDima DorfmanSee the
135f7acb7e4SDima Dorfman.\" XXX link to another section?
136f7acb7e4SDima Dorfman.Em COMPATIBILITY
137f7acb7e4SDima Dorfmansection for more information.
1384d7de91fSDima Dorfman.It Fl c Ar cylinders
1394d7de91fSDima DorfmanThe number of cylinders per cylinder group in the filesystem.
1404d7de91fSDima Dorfman.It Fl D
1414d7de91fSDima DorfmanIf not using auto-unit,
1429dde6035SDima Dorfmando not run
1434d7de91fSDima Dorfman.Xr mdconfig 8
1444d7de91fSDima Dorfmanto try to detach the unit before attaching it.
1454d7de91fSDima Dorfman.It Fl d Ar rotdelay
1464d7de91fSDima DorfmanSpecify the mininum time in milliseconds required to initiate another
1474d7de91fSDima Dorfmandisk transfer on the same cylinder.
1484d7de91fSDima DorfmanModern disks with read/write-behind achieve higher performance without
1494d7de91fSDima Dorfmanthis feature,
1504d7de91fSDima Dorfmanso it is best to leave it at 0 milliseconds.
1514d7de91fSDima Dorfman.It Fl e Ar maxbpg
1524d7de91fSDima DorfmanIndicate the maximum number of blocks any single file can allocate
1534d7de91fSDima Dorfmanout of a cylinder group before it is forced to begin allocating
1544d7de91fSDima Dorfmanblocks from another cylinder group.
1554d7de91fSDima Dorfman.It Fl F Ar file
1564d7de91fSDima DorfmanCreate a vnode-backed
1574d7de91fSDima Dorfman.Pq Dv MD_VNODE
1584d7de91fSDima Dorfmanmemory disk backed by
1594d7de91fSDima Dorfman.Ar file .
1604d7de91fSDima Dorfman.It Fl f Ar frag-size
1614d7de91fSDima DorfmanThe fragment size of the filesystem in bytes.
1624d7de91fSDima Dorfman.It Fl i Ar bytes
1634d7de91fSDima DorfmanNumber of bytes per inode.
1644d7de91fSDima Dorfman.It Fl L
1654d7de91fSDima DorfmanShow the output of the helper programs.
1664d7de91fSDima DorfmanBy default,
1674d7de91fSDima Dorfmanit is sent to
1684d7de91fSDima Dorfman.Pa /dev/null .
1694d7de91fSDima Dorfman.It Fl M
1704d7de91fSDima DorfmanCreate a
1714d7de91fSDima Dorfman.Xr malloc 9
1724d7de91fSDima Dorfmanbacked disk
1734d7de91fSDima Dorfman.Pq Dv MD_MALLOC
1744d7de91fSDima Dorfmaninstead of a swap-backed disk.
1754d7de91fSDima Dorfman.It Fl m Ar percent-free
1764d7de91fSDima DorfmanThe percentage of space reserved for the superuser.
1774d7de91fSDima Dorfman.It Fl N
1789dde6035SDima DorfmanDo not actually run the helper programs.
1794d7de91fSDima DorfmanThis is most useful in conjunction with
1804d7de91fSDima Dorfman.Fl X .
1814d7de91fSDima Dorfman.It Fl n Ar rotational-positions
1824d7de91fSDima DorfmanThe default number of rotational positions to distinguish.
1834d7de91fSDima Dorfman.It Fl O Ar optimization
1844d7de91fSDima DorfmanSelect the optimization preference;
1854d7de91fSDima Dorfmanvalid choices are
1869dde6035SDima Dorfman.Cm space
1874d7de91fSDima Dorfmanand
1889dde6035SDima Dorfman.Cm time ,
1894d7de91fSDima Dorfmanwhich will optimize for minimum space fragmentation and
1904d7de91fSDima Dorfmanminimum time spent allocating blocks,
1914d7de91fSDima Dorfmanrespectively.
1924d7de91fSDima Dorfman.It Fl o Ar mount-options
1934d7de91fSDima DorfmanSpecify the mount options with which to mount the filesystem.
1944d7de91fSDima DorfmanSee
1954d7de91fSDima Dorfman.Xr mount 8
1964d7de91fSDima Dorfmanfor more information.
1974d7de91fSDima Dorfman.It Fl p Ar permissions
1984d7de91fSDima DorfmanSet the file (directory) permissions of the mount point
1994d7de91fSDima Dorfman.Ar mount-point
2004d7de91fSDima Dorfmanto
2014d7de91fSDima Dorfman.Ar permissions .
2024d7de91fSDima Dorfman.It Fl S
2039dde6035SDima DorfmanDo not enable soft-updates on the filesystem.
2044d7de91fSDima Dorfman.It Fl s Ar size
2054d7de91fSDima DorfmanSpecify the size of the disk to create.
2064d7de91fSDima DorfmanThis only makes sense if
2074d7de91fSDima Dorfman.Fl F
2084d7de91fSDima Dorfmanis
2094d7de91fSDima Dorfman.Em not
2104d7de91fSDima Dorfmanspecified.
2114d7de91fSDima DorfmanThat is,
2124d7de91fSDima Dorfmanthis will work for the default swap-backed
2134d7de91fSDima Dorfman.Pq Dv MD_SWAP
2144d7de91fSDima Dorfmandisks,
2154d7de91fSDima Dorfmanand the optional
2164d7de91fSDima Dorfman.Pq Fl M
2174d7de91fSDima Dorfman.Xr malloc 9
2184d7de91fSDima Dorfmanbacked disks
2194d7de91fSDima Dorfman.Pq Dv MD_MALLOC .
220f7acb7e4SDima Dorfman.It Fl U
221f7acb7e4SDima DorfmanEnable soft-updates on the filesystem.
222f7acb7e4SDima DorfmanThis is the default, even in compatibility mode, and is accepted only
223f7acb7e4SDima Dorfmanfor compatibility.
224f7acb7e4SDima DorfmanIt is only really useful to negate the
225f7acb7e4SDima Dorfman.Fl S
226f7acb7e4SDima Dorfmanflag, should such a need occur.
2279dde6035SDima Dorfman.It Fl w Ar user : Ns Ar group
2289dde6035SDima DorfmanSet the owner and group to
2294d7de91fSDima Dorfman.Ar user
2304d7de91fSDima Dorfmanand
2314d7de91fSDima Dorfman.Ar group ,
2324d7de91fSDima Dorfmanrespectively.
2334d7de91fSDima DorfmanThe arguments have the same semantics as with
2344d7de91fSDima Dorfman.Xr chown 8 ,
2359dde6035SDima Dorfmanbut specifying just a
2369dde6035SDima Dorfman.Ar user
2379dde6035SDima Dorfmanor just a
2389dde6035SDima Dorfman.Ar group
2399dde6035SDima Dorfmanis not supported.
240ab1d004fSDima Dorfman.It Fl X
241ab1d004fSDima DorfmanPrint what command will be run before running it, and
242ab1d004fSDima Dorfmanother assorted debugging information.
2434d7de91fSDima Dorfman.El
2444d7de91fSDima Dorfman.Pp
2454d7de91fSDima DorfmanThe
2464d7de91fSDima Dorfman.Fl F
2474d7de91fSDima Dorfmanand
2484d7de91fSDima Dorfman.Fl s
2494d7de91fSDima Dorfmanoptions are passed to
2504d7de91fSDima Dorfman.Xr mdconfig 8
2514d7de91fSDima Dorfmanas
2524d7de91fSDima Dorfman.Fl f
2534d7de91fSDima Dorfmanand
2544d7de91fSDima Dorfman.Fl s ,
2554d7de91fSDima Dorfmanrespectively.
2564d7de91fSDima DorfmanThe
2579dde6035SDima Dorfman.Fl a , b , c , d , e , f , i , m
2584d7de91fSDima Dorfmanand
2594d7de91fSDima Dorfman.Fl n
2604d7de91fSDima Dorfmanoptions are passed to
2614d7de91fSDima Dorfman.Xr newfs 8
2624d7de91fSDima Dorfmanwith the same letter;
2634d7de91fSDima Dorfmanthe
2644d7de91fSDima Dorfman.Fl O
2654d7de91fSDima Dorfmanoption is passed to
2664d7de91fSDima Dorfman.Xr newfs 8
2674d7de91fSDima Dorfmanas
2684d7de91fSDima Dorfman.Fl o .
2694d7de91fSDima DorfmanThe
2704d7de91fSDima Dorfman.Fl o
2714d7de91fSDima Dorfmanoption is passed to
2724d7de91fSDima Dorfman.Xr mount 8
2734d7de91fSDima Dorfmanwith the same letter.
2744d7de91fSDima DorfmanSee the programs that the options are passed to for more information
2754d7de91fSDima Dorfmanon their semantics.
2764d7de91fSDima Dorfman.Sh EXAMPLES
2774d7de91fSDima DorfmanCreate and mount a 32 megabyte swap-backed filesystem on
2784d7de91fSDima Dorfman.Pa /tmp :
2794d7de91fSDima Dorfman.Pp
2809dde6035SDima Dorfman.Dl "mdmfs -s 32m md /tmp"
2814d7de91fSDima Dorfman.Pp
2824d7de91fSDima DorfmanCreate and mount a 16 megabyte malloc-backed filesystem on
2834d7de91fSDima Dorfman.Pa /tmp
2844d7de91fSDima Dorfmanusing the
2854d7de91fSDima Dorfman.Pa /dev/md1
2864d7de91fSDima Dorfmandevice;
2874d7de91fSDima Dorfmanfurthermore,
288ba40ba47SDima Dorfmando not use soft-updates on it and mount it
2894d7de91fSDima Dorfman.Cm async :
2904d7de91fSDima Dorfman.Pp
2919dde6035SDima Dorfman.Dl "mdmfs -M -S -o async -s 16m md1 /tmp"
292f7acb7e4SDima Dorfman.Sh COMPATIBILITY
293f7acb7e4SDima Dorfman.Nm ,
294f7acb7e4SDima Dorfmanwhile designed to be fully compatible with
295f7acb7e4SDima Dorfman.Xr mount_mfs 8 ,
296f7acb7e4SDima Dorfmancan be useful by itself.
297f7acb7e4SDima DorfmanSince
298f7acb7e4SDima Dorfman.Xr mount_mfs 8
299f7acb7e4SDima Dorfmanhas some silly defaults, a
300f7acb7e4SDima Dorfman.Dq full compatibility
301f7acb7e4SDima Dorfmanmode is provided for the case where bug-to-bug compatibility is desired.
302f7acb7e4SDima Dorfman.Pp
303f7acb7e4SDima DorfmanFull compatibility is enabled with the
304f7acb7e4SDima Dorfman.Fl C
305f7acb7e4SDima Dorfmanflag,
306f7acb7e4SDima Dorfmanor by starting
307f7acb7e4SDima Dorfman.Nm
308f7acb7e4SDima Dorfmanwith
309f7acb7e4SDima Dorfman.Li mount_
310f7acb7e4SDima Dorfmanat the beginning of its name
311f7acb7e4SDima Dorfman(as returned by
312f7acb7e4SDima Dorfman.Xr getprogname 3 ) .
313f7acb7e4SDima DorfmanIn this mode, only the options which would be accepted by
314f7acb7e4SDima Dorfman.Xr mount_mfs 8
315f7acb7e4SDima Dorfmanare valid.
316f7acb7e4SDima DorfmanFurthermore, the following behavior, as done by
317f7acb7e4SDima Dorfman.Xr mount_mfs 8 ,
318f7acb7e4SDima Dorfmanis duplicated:
319f7acb7e4SDima Dorfman.Bl -bullet -offset indent -compat
320f7acb7e4SDima Dorfman.It
321f7acb7e4SDima DorfmanThe file mode of
322f7acb7e4SDima Dorfman.Ar mount-point
323f7acb7e4SDima Dorfmanis set to
324f7acb7e4SDima Dorfman.Li 01777
325f7acb7e4SDima Dorfmanas if
326f7acb7e4SDima Dorfman.Fl p Ar 1777
327f7acb7e4SDima Dorfmanwas given on the command line.
328f7acb7e4SDima Dorfman.El
32929dfd70bSDima Dorfman.Sh SEE ALSO
33029dfd70bSDima Dorfman.Xr md 4 ,
331f7acb7e4SDima Dorfman.Xr fstab 5 ,
33229dfd70bSDima Dorfman.Xr disklabel 8 ,
33329dfd70bSDima Dorfman.Xr mdconfig 8 ,
33429dfd70bSDima Dorfman.Xr mount 8 ,
33529dfd70bSDima Dorfman.Xr newfs 8
3369dde6035SDima Dorfman.Sh AUTHORS
3374d7de91fSDima Dorfman.An Dima Dorfman
338