1.\" $NetBSD: mount_tmpfs.8,v 1.14 2008/04/30 13:10:53 martin Exp $ 2.\" 3.\" Copyright (c) 2005, 2006 The NetBSD Foundation, Inc. 4.\" All rights reserved. 5.\" 6.\" This code is derived from software contributed to The NetBSD Foundation 7.\" by Julio M. Merino Vidal, developed as part of Google's Summer of Code 8.\" 2005 program. 9.\" 10.\" Redistribution and use in source and binary forms, with or without 11.\" modification, are permitted provided that the following conditions 12.\" are met: 13.\" 1. Redistributions of source code must retain the above copyright 14.\" notice, this list of conditions and the following disclaimer. 15.\" 2. Redistributions in binary form must reproduce the above copyright 16.\" notice, this list of conditions and the following disclaimer in the 17.\" documentation and/or other materials provided with the distribution. 18.\" 19.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 20.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 21.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 22.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 23.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 24.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 25.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 27.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29.\" POSSIBILITY OF SUCH DAMAGE. 30.\" 31.Dd September 18, 2010 32.Dt MOUNT_TMPFS 8 33.Os 34.Sh NAME 35.Nm mount_tmpfs 36.Nd mount an efficient memory file system 37.Sh SYNOPSIS 38.Nm 39.Op Fl C 40.Op Fl f Ar maxfilesize 41.Op Fl g Ar group 42.Op Fl m Ar mode 43.Op Fl n Ar nodes 44.Op Fl o Ar options 45.Op Fl s Ar size 46.Op Fl u Ar user 47.Ar tmpfs 48.Ar mount_point 49.Sh DESCRIPTION 50The 51.Nm 52command attaches an instance of the efficient memory file system to the 53global file system namespace. 54The 55.Ar tmpfs 56parameter only exists for compatibility with the other mount commands and 57is ignored. 58The directory specified by 59.Ar mount_point 60is converted to an absolute path before use and its attributes (owner, 61group and mode) are inherited unless explicitly overriden by the options 62described below. 63.Pp 64The following options are supported: 65.Bl -tag -width XoXoptions 66.It Fl C 67Tells 68.Nm 69to copy the underlying file system into the tmpfs mount being created 70over it. 71.It Fl f Ar maxfilesize 72Specifies the maximum file size of the file system. 73.It Fl g Ar group 74Specifies the group name or GID of the root inode of the file system. 75Defaults to the mount point's GID. 76.It Fl m Ar mode 77Specifies the mode (in octal notation) of the root inode of the file system. 78Defaults to the mount point's mode. 79.It Fl n Ar nodes 80Specifies the maximum number of nodes available to the file system. 81If not specified, the file system chooses a reasonable maximum given its 82size at mount time, which can be limited with 83.Fl s . 84.It Fl o Ar options 85Options are specified with a 86.Fl o 87flag followed by a comma-separated string of options. 88See the 89.Xr mount 8 90and 91.Xr tmpfs 5 92man page for possible options and their meanings. 93.It Fl s Ar size 94Specifies the total file system size. 95If zero is given (the default), the available amount of memory (including 96main memory and swap space) will be used. 97Note that four megabytes are always reserved for the system and cannot 98be assigned to the file system. 99.It Fl u Ar user 100Specifies the user name or UID of the root inode of the file system. 101Defaults to the mount point's UID. 102.El 103.Pp 104Every option that accepts a numerical value as its argument can take a 105trailing 106.Sq b 107to indicate bytes (the default), a trailing 108.Sq k 109to indicate kilobytes, a trailing 110.Sq M 111to indicate megabytes or a trailing 112.Sq G 113to indicate gigabytes. 114Note that both lowercase and uppercase forms of these letters are allowed. 115.Sh EXAMPLES 116The following command mounts a tmpfs instance over the 117.Pa /tmp 118directory, inheriting its owner, group and mode settings: 119.Pp 120.Ic "mount -t tmpfs tmpfs /tmp" 121.Pp 122The following command mounts a tmpfs instance over the 123.Pa /mnt 124directory, setting a 20 megabytes limit in space, owned by the 125.Sq joe 126user and belonging to the 127.Sq users 128group, with a restricted 0700 mode: 129.Pp 130.Ic "mount -t tmpfs -o -s20M -o -ujoe -o -gusers -o -m0700 tmpfs /mnt" 131.Pp 132or 133.Pp 134.Ic "mount -t tmpfs -o size=20M,uid=joe,gid=users,mode=0700 tmpfs /mnt" 135.Sh SEE ALSO 136.Xr fstab 5 , 137.Xr tmpfs 5 , 138.Xr mount 8 139.Sh HISTORY 140The 141.Nm 142utility first appeared in 143.Nx 4.0 . 144.Sh BUGS 145File system meta-data is not pageable. 146If there is not enough main memory to hold this information, the system may 147become unstable or very unresponsive because it will not be able to allocate 148required memory. 149A malicious user could trigger this condition if he could create lots of 150files inside a size-unbounded tmpfs file system. 151Limiting the number of nodes per file system 152.Pq Fl n 153will prevent this; the default value for this setting is also often adjusted 154to an adequate value to resolve this. 155