]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sbin/mdmfs/mdmfs.8
MFV r305420:
[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 March 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.  It is presently limited to its default value which is 16
131 times the file system blocksize.
132 .It Fl E Ar path-mdconfig
133 Use
134 .Ar path-mdconfig
135 as a location of the
136 .Xr mdconfig 8
137 utility.
138 .It Fl e Ar maxbpg
139 Indicate the maximum number of blocks any single file can allocate
140 out of a cylinder group before it is forced to begin allocating
141 blocks from another cylinder group.
142 .It Fl F Ar file
143 Create a vnode-backed
144 .Pq Dv MD_VNODE
145 memory disk backed by
146 .Ar file .
147 .It Fl f Ar frag-size
148 The fragment size of the file system in bytes.
149 .It Fl i Ar bytes
150 Number of bytes per inode.
151 .It Fl l
152 Enable multilabel MAC on the new file system.
153 .It Fl L
154 Show the output of the helper programs.
155 By default,
156 it is sent to
157 .Pa /dev/null .
158 .It Fl M
159 Create a
160 .Xr malloc 9
161 backed disk
162 .Pq Dv MD_MALLOC
163 instead of a swap-backed disk.
164 .It Fl m Ar percent-free
165 The percentage of space reserved for the superuser.
166 .It Fl N
167 Do not actually run the helper programs.
168 This is most useful in conjunction with
169 .Fl X .
170 .It Fl n
171 Do not create a
172 .Pa .snap
173 directory on the new file system.
174 .It Fl O Ar optimization
175 Select the optimization preference;
176 valid choices are
177 .Cm space
178 and
179 .Cm time ,
180 which will optimize for minimum space fragmentation and
181 minimum time spent allocating blocks,
182 respectively.
183 .It Fl o Ar mount-options
184 Specify the mount options with which to mount the file system.
185 See
186 .Xr mount 8
187 for more information.
188 .It Fl P
189 Preserve the existing file system;
190 do not run
191 .Xr newfs 8 .
192 This only makes sense if
193 .Fl F
194 is specified to create a vnode-backed disk.
195 .It Fl p Ar permissions
196 Set the file (directory) permissions of the mount point
197 .Ar mount-point
198 to
199 .Ar permissions .
200 The
201 .Ar permissions
202 argument can be in any of the mode formats recognized by
203 .Xr chmod 1 .
204 If symbolic permissions are specified,
205 the operation characters
206 .Dq +
207 and
208 .Dq -
209 are interpreted relative to the initial permissions of
210 .Dq a=rwx .
211 .It Fl S
212 Do not enable soft-updates on the file system.
213 .It Fl s Ar size
214 Specify the size of the disk to create.
215 This only makes sense if
216 .Fl F
217 is
218 .Em not
219 specified.
220 That is,
221 this will work for the default swap-backed
222 .Pq Dv MD_SWAP
223 disks,
224 and the optional
225 .Pq Fl M
226 .Xr malloc 9
227 backed disks
228 .Pq Dv MD_MALLOC .
229 .It Fl t
230 Turn on the TRIM enable flag for
231 .Xr newfs 8 .
232 When used with a file system that issue BIO_DELETE bio requests,
233 .Xr md 4
234 returns deleted blocks to the system memory pool.
235 .It Fl T Ar fstype
236 Specify a file system type for a vnode-backed memory disk.
237 Any file system supported by
238 .Xr mount 8
239 command can be specified.
240 This option only makes sense when
241 .Fl F
242 and
243 .Fl P
244 are used.
245 .It Fl U
246 Enable soft-updates on the file system.
247 This is the default, and is accepted only
248 for compatibility.
249 It is only really useful to negate the
250 .Fl S
251 flag, should such a need occur.
252 .It Fl v Ar version
253 Specify the UFS version number for use on the file system; it may be
254 either
255 .Dv 1
256 or
257 .Dv 2 .
258 The default is derived from the default of the
259 .Xr newfs 8
260 command.
261 .It Fl w Ar user : Ns Ar group
262 Set the owner and group to
263 .Ar user
264 and
265 .Ar group ,
266 respectively.
267 The arguments have the same semantics as with
268 .Xr chown 8 ,
269 but specifying just a
270 .Ar user
271 or just a
272 .Ar group
273 is not supported.
274 .It Fl X
275 Print what command will be run before running it, and
276 other assorted debugging information.
277 .El
278 .Pp
279 The
280 .Fl F
281 and
282 .Fl s
283 options are passed to
284 .Xr mdconfig 8
285 as
286 .Fl f
287 and
288 .Fl s ,
289 respectively.
290 The
291 .Fl a , b , c , d , e , f , i , m
292 and
293 .Fl n
294 options are passed to
295 .Xr newfs 8
296 with the same letter.
297 The
298 .Fl O
299 option is passed to
300 .Xr newfs 8
301 as
302 .Fl o .
303 The
304 .Fl o
305 option is passed to
306 .Xr mount 8
307 with the same letter.
308 The
309 .Fl T
310 option is passed to
311 .Xr mount 8
312 as
313 .Fl t .
314 See the programs that the options are passed to for more information
315 on their semantics.
316 .Sh EXAMPLES
317 Create and mount a 32 megabyte swap-backed file system on
318 .Pa /tmp :
319 .Pp
320 .Dl "mdmfs -s 32m md /tmp"
321 .Pp
322 The same file system created as an entry in
323 .Pa /etc/fstab :
324 .Pp
325 .Dl "md /tmp mfs rw,-s32m 2 0"
326 .Pp
327 Create and mount a 16 megabyte malloc-backed file system on
328 .Pa /tmp
329 using the
330 .Pa /dev/md1
331 device;
332 furthermore,
333 do not use soft-updates on it and mount it
334 .Cm async :
335 .Pp
336 .Dl "mdmfs -M -S -o async -s 16m md1 /tmp"
337 .Pp
338 Create and mount a
339 .Xr geom_uzip 4
340 based compressed disk image:
341 .Pp
342 .Dl "mdmfs -P -F foo.uzip -oro md.uzip /tmp/"
343 .Pp
344 Mount the same image, specifying the
345 .Pa /dev/md1
346 device:
347 .Pp
348 .Dl "mdmfs -P -F foo.uzip -oro md1.uzip /tmp/"
349 .Pp
350 Configure a vnode-backed file system and mount its first partition,
351 using automatic device numbering:
352 .Pp
353 .Dl "mdmfs -P -F foo.img mds1a /tmp/"
354 .Pp
355 Mount a vnode-backed cd9660 file system using automatic device numbering:
356 .Pp
357 .Dl "mdmfs -T cd9660 -P -F foo.iso md /tmp"
358 .Sh COMPATIBILITY
359 The
360 .Nm
361 utility, while designed to be compatible with
362 .Xr mount_mfs 8 ,
363 can be useful by itself.
364 Since
365 .Xr mount_mfs 8
366 had some silly defaults, a
367 .Dq compatibility
368 mode is provided for the case where bug-to-bug compatibility is desired.
369 .Pp
370 Compatibility is enabled by starting
371 .Nm
372 with the name
373 .Li mount_mfs
374 or
375 .Li mfs
376 (as returned by
377 .Xr getprogname 3 ) .
378 In this mode, the following behavior, as done by
379 .Xr mount_mfs 8 ,
380 is duplicated:
381 .Bl -bullet -offset indent
382 .It
383 The file mode of
384 .Ar mount-point
385 is set by default to
386 .Li 01777
387 as if
388 .Fl p Ar 1777
389 was given on the command line.
390 .El
391 .Sh SEE ALSO
392 .Xr md 4 ,
393 .Xr fstab 5 ,
394 .Xr mdconfig 8 ,
395 .Xr mount 8 ,
396 .Xr newfs 8
397 .Sh AUTHORS
398 .An Dima Dorfman