December 8, 2007 MOUNT_MFS 8

### NAME

mount_mfs - mount a memory based file system

### SYNOPSIS

mount_mfs [-N] [-a maxcontig] [-b block-size] [-d rotdelay] [-e maxbpg] [-f frag-size] [-g groupname] [-i bytes-per-inode] [-m free-space] [-n inodes] [-o options] [-p permissions] [-s size] [-u username] [-V verbose] special node

### DESCRIPTION

mount_mfs is used to build a file system in virtual memory and then mount it on a specified node. mount_mfs exits and the contents of the file system are lost when the file system is unmounted. If mount_mfs is sent a signal while running, for example during system shutdown, it will attempt to unmount its corresponding file system. special is ignored.

Options with numeric arguments may contain an optional (case-insensitive) suffix:

b
  Bytes; causes no modification. (Default)
k
  Kilo; multiply the argument by 1024
m
  Mega; multiply the argument by 1048576
g
  Giga; multiply the argument by 1073741824

The following options define the general layout policies:

-N
  Causes the memory file system parameters to be printed out without really mounting the memory file system.

-a maxcontig
  This specifies the maximum number of contiguous blocks that will be laid out before forcing a rotational delay (see the -d option). The default value is 8. See tunefs(8) for more details on how to set this option.

-b block-size
  The block size of the file system, in bytes. It must be a power of two. The smallest allowable size is 4096 bytes. The default size depends upon the size of the file system:

  file system size
    block-size
  < 20 MB
    4 KB
  < 1024 MB
    8 KB
  >= 1024 MB
    16 KB

-d rotdelay
  This specifies the expected time (in milliseconds) to service a transfer completion interrupt and initiate a new transfer on the same disk. The default is 0 milliseconds. See tunefs(8) for more details on how to set this option.

-e maxbpg
  This indicates the maximum number of blocks any single file can allocate out of a cylinder group before it is forced to begin allocating blocks from another cylinder group. The default is about one quarter of the total blocks in a cylinder group. See tunefs(8) for more details on how to set this option.

-f frag-size
  The fragment size of the file system in bytes. It must be a power of two ranging in value between block-size/8 and block-size. The optimal block-size:frag-size ratio is 8:1. Other ratios are possible, but are not recommended, and may produce unpredictable results. The default size depends upon the size of the file system:

  file system size
    frag-size
  < 20 MB
    0.5 KB
  < 1024 MB
    1 KB
  >= 1024 MB
    2 KB

-g groupname
  This specifies the group name or group id of the root inode of the file system.

-i bytes-per-inode
  This specifies the density of inodes in the file system. If fewer inodes are desired, a larger number should be used; to create more inodes a smaller number should be given. The default is to create an inode for every (4 * frag-size) bytes of data space:

  file system size
    bytes-per-inode
  < 20 MB
    2 KB
  < 1024 MB
    4 KB
  >= 1024 MB
    8 KB

-m free-space
  The percentage of space reserved from normal users; the minimum free space threshold. The default value used is 5%. See tunefs(8) for more details on how to set this option.

-n inodes
  This specifies the number of inodes for the filesystem. If both -i and -n are specified then -n takes precedence.

-o
  Options are specified with a -o flag followed by a comma separated string of options. See the mount(8) man page for possible options and their meanings.

-p permissions
  This specifies the permissions of the root inode of the file system.

-s size
  The size of the file system in sectors. An `s' suffix will be interpreted as the number of sectors (the default). All other suffixes are interpreted as per other numeric arguments, except that the number is converted into sectors by dividing by the default sector size (which is 512 bytes) after suffix interpretation.

-u username
  This specifies the user name or user id of the root inode of the file system.

-V verbose
  This controls the amount of information written to stdout:
  0
    No output
  1
    Overall size and cylinder group details.
  2
    A progress bar (dots ending at right hand margin).
  3
    The first few super-block backup sector numbers are displayed before the progress bar.
  4
    All the super-block backup sector numbers are displayed (no progress bar).
  The default is 0. If -N is specifed mount_mfs stops before outputting the progress bar.

### NOTES

The owner and group ids of the root node of the new file system are set to the effective uid and gid of the user mounting the file system.

### EXAMPLES

Mount a 32 MB mfs on /tmp:

```mount_mfs``-s` `32m` `swap``/tmp`

### SEE ALSO

disktab(5), fs(5), disklabel(8), diskpart(8), dumpfs(8), fsck_ffs(8), fsirand(8), mount(8), newfs(8), tunefs(8)

### HISTORY

The mount_mfs command appeared in 4.2BSD.

### BUGS

The async mount(8) option is currently disabled in this file system because it causes hangs when writing lots of data. The problem is that MFS needs to allocate pages to clean pages, so if it waits until the last minute to clean pages then there may not be any of them available to do the cleaning.