]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sbin/mdmfs/mdmfs.8
Merge compiler-rt release_40 branch r292009.
[FreeBSD/FreeBSD.git] / sbin / mdmfs / mdmfs.8
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 September 9, 2016
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
36 driver
37 .Sh SYNOPSIS
38 .Nm
39 .Op Fl DLlMNnPStTUX
40 .Op Fl a Ar maxcontig
41 .Op Fl b Ar block-size
42 .Op Fl c Ar blocks-per-cylinder-group
43 .Op Fl d Ar max-extent-size
44 .Op Fl E Ar path-mdconfig
45 .Op Fl e Ar maxbpg
46 .Op Fl F Ar file
47 .Op Fl f Ar frag-size
48 .Op Fl i Ar bytes
49 .Op Fl m Ar percent-free
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 T Ar fstype
55 .Op Fl v Ar version
56 .Op Fl w Ar user : Ns Ar group
57 .Ar md-device
58 .Ar mount-point
59 .Sh DESCRIPTION
60 The
61 .Nm
62 utility is designed to be a work-alike and look-alike of the deprecated
63 .Xr mount_mfs 8 .
64 The end result is essentially the same,
65 but is accomplished in a completely different way.
66 The
67 .Nm
68 utility configures an
69 .Xr md 4
70 disk using
71 .Xr mdconfig 8 ,
72 puts a UFS file system on it (unless
73 .Fl P
74 was specified) using
75 .Xr newfs 8 ,
76 and mounts it using
77 .Xr mount 8 .
78 It can handle
79 .Xr geom_uzip 4
80 compressed disk images, as long as the kernel supports this GEOM class.
81 All the command line options are passed to the appropriate program
82 at the appropriate stage in order to achieve the desired effect.
83 .Pp
84 By default,
85 .Nm
86 creates a swap-based
87 .Pq Dv MD_SWAP
88 disk with soft-updates enabled
89 and mounts it on
90 .Ar mount-point .
91 It uses the
92 .Xr md 4
93 device specified by
94 .Ar md-device .
95 If
96 .Ar md-device
97 is
98 .Ql md
99 (no unit number),
100 it will use
101 .Xr md 4 Ns 's
102 auto-unit feature to automatically select an unused device.
103 Unless otherwise specified with one of the options below,
104 it uses the default arguments to all the helper programs.
105 .Pp
106 The following options are available.
107 Where possible,
108 the option letter matches the one used by
109 .Xr mount_mfs 8
110 for the same thing.
111 .Bl -tag -width indent
112 .It Fl a Ar maxcontig
113 Specify the maximum number of contiguous blocks that will be laid
114 out before forcing a rotational delay
115 (see the
116 .Fl d
117 option).
118 .It Fl b Ar block-size
119 The block size of the file system, in bytes.
120 .It Fl c Ar blocks-per-cylinder-group
121 The number of blocks per cylinder group in the file system.
122 .It Fl D
123 If not using auto-unit,
124 do not run
125 .Xr mdconfig 8
126 to try to detach the unit before attaching it.
127 .It Fl d Ar max-extent-size
128 The file system may choose to store large files using extents.
129 This parameter specifies the largest extent size that may be
130 used.
131 It is presently limited to its default value which is 16
132 times the file system blocksize.
133 .It Fl E Ar path-mdconfig
134 Use
135 .Ar path-mdconfig
136 as a location of the
137 .Xr mdconfig 8
138 utility.
139 .It Fl e Ar maxbpg
140 Indicate the maximum number of blocks any single file can allocate
141 out of a cylinder group before it is forced to begin allocating
142 blocks from another cylinder group.
143 .It Fl F Ar file
144 Create a vnode-backed
145 .Pq Dv MD_VNODE
146 memory disk backed by
147 .Ar file .
148 .It Fl f Ar frag-size
149 The fragment size of the file system in bytes.
150 .It Fl i Ar bytes
151 Number of bytes per inode.
152 .It Fl l
153 Enable multilabel MAC on the new file system.
154 .It Fl L
155 Show the output of the helper programs.
156 By default,
157 it is sent to
158 .Pa /dev/null .
159 .It Fl M
160 Create a
161 .Xr malloc 9
162 backed disk
163 .Pq Dv MD_MALLOC
164 instead of a swap-backed disk.
165 .It Fl m Ar percent-free
166 The percentage of space reserved for the superuser.
167 .It Fl N
168 Do not actually run the helper programs.
169 This is most useful in conjunction with
170 .Fl X .
171 .It Fl n
172 Do not create a
173 .Pa .snap
174 directory on the new file system.
175 .It Fl O Ar optimization
176 Select the optimization preference;
177 valid choices are
178 .Cm space
179 and
180 .Cm time ,
181 which will optimize for minimum space fragmentation and
182 minimum time spent allocating blocks,
183 respectively.
184 .It Fl o Ar mount-options
185 Specify the mount options with which to mount the file system.
186 See
187 .Xr mount 8
188 for more information.
189 .It Fl P
190 Preserve the existing file system;
191 do not run
192 .Xr newfs 8 .
193 This only makes sense if
194 .Fl F
195 is specified to create a vnode-backed disk.
196 .It Fl p Ar permissions
197 Set the file (directory) permissions of the mount point
198 .Ar mount-point
199 to
200 .Ar permissions .
201 The
202 .Ar permissions
203 argument can be in any of the mode formats recognized by
204 .Xr chmod 1 .
205 If symbolic permissions are specified,
206 the operation characters
207 .Dq +
208 and
209 .Dq -
210 are interpreted relative to the initial permissions of
211 .Dq a=rwx .
212 .It Fl S
213 Do not enable soft-updates on the file system.
214 .It Fl s Ar size
215 Specify the size of the disk to create.
216 This only makes sense if
217 .Fl F
218 is
219 .Em not
220 specified.
221 That is,
222 this will work for the default swap-backed
223 .Pq Dv MD_SWAP
224 disks,
225 and the optional
226 .Pq Fl M
227 .Xr malloc 9
228 backed disks
229 .Pq Dv MD_MALLOC .
230 .It Fl t
231 Turn on the TRIM enable flag for
232 .Xr newfs 8 .
233 When used with a file system that issue BIO_DELETE bio requests,
234 .Xr md 4
235 returns deleted blocks to the system memory pool.
236 .It Fl T Ar fstype
237 Specify a file system type for a vnode-backed memory disk.
238 Any file system supported by
239 .Xr mount 8
240 command can be specified.
241 This option only makes sense when
242 .Fl F
243 and
244 .Fl P
245 are used.
246 .It Fl U
247 Enable soft-updates on the file system.
248 This is the default, and is accepted only
249 for compatibility.
250 It is only really useful to negate the
251 .Fl S
252 flag, should such a need occur.
253 .It Fl v Ar version
254 Specify the UFS version number for use on the file system; it may be
255 either
256 .Dv 1
257 or
258 .Dv 2 .
259 The default is derived from the default of the
260 .Xr newfs 8
261 command.
262 .It Fl w Ar user : Ns Ar group
263 Set the owner and group to
264 .Ar user
265 and
266 .Ar group ,
267 respectively.
268 The arguments have the same semantics as with
269 .Xr chown 8 ,
270 but specifying just a
271 .Ar user
272 or just a
273 .Ar group
274 is not supported.
275 .It Fl X
276 Print what command will be run before running it, and
277 other assorted debugging information.
278 .El
279 .Pp
280 The
281 .Fl F
282 and
283 .Fl s
284 options are passed to
285 .Xr mdconfig 8
286 as
287 .Fl f
288 and
289 .Fl s ,
290 respectively.
291 The
292 .Fl a , b , c , d , e , f , i , m
293 and
294 .Fl n
295 options are passed to
296 .Xr newfs 8
297 with the same letter.
298 The
299 .Fl O
300 option is passed to
301 .Xr newfs 8
302 as
303 .Fl o .
304 The
305 .Fl o
306 option is passed to
307 .Xr mount 8
308 with the same letter.
309 The
310 .Fl T
311 option is passed to
312 .Xr mount 8
313 as
314 .Fl t .
315 For information on semantics, refer to the documentation of the programs
316 that the options are passed to.
317 .Sh EXAMPLES
318 Create and mount a 32 megabyte swap-backed file system on
319 .Pa /tmp :
320 .Pp
321 .Dl "mdmfs -s 32m md /tmp"
322 .Pp
323 The same file system created as an entry in
324 .Pa /etc/fstab :
325 .Pp
326 .Dl "md /tmp mfs rw,-s32m 2 0"
327 .Pp
328 Create and mount a 16 megabyte malloc-backed file system on
329 .Pa /tmp
330 using the
331 .Pa /dev/md1
332 device;
333 furthermore,
334 do not use soft-updates on it and mount it
335 .Cm async :
336 .Pp
337 .Dl "mdmfs -M -S -o async -s 16m md1 /tmp"
338 .Pp
339 Create and mount a
340 .Xr geom_uzip 4
341 based compressed disk image:
342 .Pp
343 .Dl "mdmfs -P -F foo.uzip -oro md.uzip /tmp/"
344 .Pp
345 Mount the same image, specifying the
346 .Pa /dev/md1
347 device:
348 .Pp
349 .Dl "mdmfs -P -F foo.uzip -oro md1.uzip /tmp/"
350 .Pp
351 Configure a vnode-backed file system and mount its first partition,
352 using automatic device numbering:
353 .Pp
354 .Dl "mdmfs -P -F foo.img mds1a /tmp/"
355 .Pp
356 Mount a vnode-backed cd9660 file system using automatic device numbering:
357 .Pp
358 .Dl "mdmfs -T cd9660 -P -F foo.iso md /tmp"
359 .Sh COMPATIBILITY
360 The
361 .Nm
362 utility, while designed to be compatible with
363 .Xr mount_mfs 8 ,
364 can be useful by itself.
365 Since
366 .Xr mount_mfs 8
367 had some silly defaults, a
368 .Dq compatibility
369 mode is provided for the case where bug-to-bug compatibility is desired.
370 .Pp
371 Compatibility is enabled by starting
372 .Nm
373 with the name
374 .Li mount_mfs
375 or
376 .Li mfs
377 (as returned by
378 .Xr getprogname 3 ) .
379 In this mode, the following behavior, as done by
380 .Xr mount_mfs 8 ,
381 is duplicated:
382 .Bl -bullet -offset indent
383 .It
384 The file mode of
385 .Ar mount-point
386 is set by default to
387 .Li 01777
388 as if
389 .Fl p Ar 1777
390 was given on the command line.
391 .El
392 .Sh SEE ALSO
393 .Xr md 4 ,
394 .Xr fstab 5 ,
395 .Xr mdconfig 8 ,
396 .Xr mount 8 ,
397 .Xr newfs 8
398 .Sh HISTORY
399 The
400 .Nm
401 utility appeared in
402 .Fx 5.0 .
403 .Sh AUTHORS
404 .An Dima Dorfman