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