2001-12-27 03:05:44 +00:00
|
|
|
.\" Copyright (c) 2001 Networks Associates Technologies, Inc.
|
|
|
|
.\" All rights reserved.
|
|
|
|
.\"
|
|
|
|
.\" This software was developed for the FreeBSD Project by Chris
|
|
|
|
.\" Costello at Safeport Network Services and NAI Labs, the Security
|
|
|
|
.\" Research Division of Network Associates, Inc. under DARPA/SPAWAR
|
|
|
|
.\" contract N66001-01-C-8035 ("CBOSS"), as part of the DARPA CHATS
|
|
|
|
.\" research program.
|
|
|
|
.\"
|
|
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
|
|
.\" modification, are permitted provided that the following conditions
|
|
|
|
.\" are met:
|
|
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
|
|
.\" 3. The name of the author may not be used to endorse or promote
|
|
|
|
.\" products derived from this software without specific prior written
|
|
|
|
.\" permission.
|
|
|
|
.\"
|
|
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
|
|
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
|
|
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
|
|
.\" SUCH DAMAGE.
|
|
|
|
.\"
|
|
|
|
.\" $FreeBSD$
|
|
|
|
.Dd December 26, 2001
|
|
|
|
.Dt FFS 4
|
|
|
|
.Sh NAME
|
|
|
|
.Nm ffs
|
|
|
|
.Nd Berkeley fast file system
|
|
|
|
.Sh SYNOPSIS
|
2002-01-05 20:18:35 +00:00
|
|
|
In the kernel configuration file:
|
|
|
|
.Cd options ENABLE_VFS_IOOPT
|
2001-12-27 03:05:44 +00:00
|
|
|
.Cd options FFS
|
2002-01-05 20:18:35 +00:00
|
|
|
.Cd options QUOTA
|
2001-12-27 03:05:44 +00:00
|
|
|
.Cd options SOFTUPDATES
|
2002-01-05 20:18:35 +00:00
|
|
|
.Cd options SUIDDIR
|
|
|
|
.Cd options UFS_ACL
|
|
|
|
.Cd options UFS_DIRHASH
|
|
|
|
.Cd options UFS_EXTATTR
|
|
|
|
.Cd options UFS_EXTATTR_AUTOSTART
|
|
|
|
.Pp
|
|
|
|
In
|
|
|
|
.Pa /etc/fstab :
|
|
|
|
.Cd /dev/disk0s1a /mnt ufs rw 1 1
|
2001-12-27 03:05:44 +00:00
|
|
|
.Sh DESCRIPTION
|
|
|
|
The Berkeley fast file system
|
|
|
|
provides facilities to store file system data onto a disk device.
|
2002-01-05 20:18:35 +00:00
|
|
|
.Nm ffs
|
2001-12-27 03:05:44 +00:00
|
|
|
has been optimized over the years
|
|
|
|
for speed and reliability
|
2002-01-05 20:18:35 +00:00
|
|
|
and is the default
|
|
|
|
.Fx
|
2001-12-27 03:05:44 +00:00
|
|
|
file system.
|
|
|
|
.Pp
|
2002-01-05 20:18:35 +00:00
|
|
|
.Ss VFS I/O optimization
|
|
|
|
.Bl -tag -width 2n
|
|
|
|
.It Cd options ENABLE_VFS_IOOPT
|
|
|
|
This option enables the IO optimization through the VM system,
|
|
|
|
using VM operations instead of copying operations when possible.
|
|
|
|
This option adds a sysctl MIB,
|
|
|
|
.Em vfs.ioopt .
|
|
|
|
The following are values and effects for
|
|
|
|
.Em vfs.ioopt :
|
|
|
|
.Pp
|
|
|
|
.Bl -tag -width "Value" -offset indent -compact
|
|
|
|
.It Em Value
|
|
|
|
.Em Effect
|
|
|
|
.It Li 0
|
|
|
|
No optimization
|
|
|
|
.It Li 1
|
|
|
|
VM operations if a request fits
|
|
|
|
.It Li 2
|
|
|
|
Aggresive optimization (VM used as much as possible)
|
|
|
|
.El
|
|
|
|
.El
|
|
|
|
.Ss Quotas
|
|
|
|
.Bl -tag -width 2n
|
|
|
|
.It Cd options QUOTA
|
|
|
|
This option allows system administrators
|
|
|
|
to set limits on disk usage
|
|
|
|
on a per-user basis.
|
|
|
|
Quotas can be used only on file systems
|
|
|
|
mounted with the
|
|
|
|
.Sq quota
|
|
|
|
option;
|
|
|
|
see
|
|
|
|
.Xr quota 1
|
|
|
|
and
|
|
|
|
.Xr edquota 8 .
|
|
|
|
.El
|
|
|
|
.Ss Soft Updates
|
|
|
|
.Bl -tag -width 2n
|
|
|
|
.It Cd options SOFTUPDATES
|
2001-12-27 03:05:44 +00:00
|
|
|
The soft updates feature tracks writes to the disk
|
|
|
|
and enforces metadata update dependancies
|
|
|
|
(e.g. updating free block maps)
|
|
|
|
to ensure that the file system remains consistent.
|
|
|
|
.Pp
|
|
|
|
To enable soft updates on an
|
|
|
|
.Em unmounted
|
|
|
|
file system, use the following command:
|
|
|
|
.Pp
|
|
|
|
.Dl Ic tunefs -n enable Sy /foo
|
|
|
|
.Pp
|
|
|
|
.Dq Sy foo
|
2001-12-30 03:47:06 +00:00
|
|
|
can be either a mount point listed in
|
|
|
|
.Pa /etc/fstab
|
2001-12-27 03:05:44 +00:00
|
|
|
(e.g.
|
|
|
|
.Pa /usr ) ,
|
|
|
|
or a disk device
|
|
|
|
(e.g.
|
|
|
|
.Pa /dev/da0s1a ) .
|
2002-01-05 20:18:35 +00:00
|
|
|
.El
|
|
|
|
.Ss File Ownership Inheritance
|
|
|
|
.Bl -tag -width 2n
|
|
|
|
.It Cd options SUIDDIR
|
|
|
|
For use in file sharing environments
|
|
|
|
on networks including Microsoft Windows
|
|
|
|
and Apple Macintosh computers,
|
|
|
|
this option allows files on file systems
|
|
|
|
mounted with the
|
|
|
|
.Sq suiddir
|
|
|
|
option
|
|
|
|
to inherit the ownership of its directory,
|
|
|
|
i.e.
|
|
|
|
.Dq "If it's my directory, it must be my file."
|
|
|
|
.El
|
|
|
|
.Ss Access Control Lists
|
|
|
|
.Bl -tag -width 2n
|
|
|
|
.It Cd options UFS_ACL
|
|
|
|
Access control lists allow the association of
|
|
|
|
fine-grained descretionary access control information
|
|
|
|
with files and directories.
|
|
|
|
This option requires the presence of the
|
|
|
|
.Dv UFS_EXTATTR
|
|
|
|
option, and it is recommended that
|
|
|
|
.Dv UFS_EXTATTR_AUTOSTART
|
|
|
|
is included as well,
|
|
|
|
so that ACLs are enabled atomically upon mounting the file system.
|
|
|
|
.El
|
|
|
|
.Pp
|
|
|
|
In order to enable support for ACLs,
|
|
|
|
two extended attributes must be available in the
|
|
|
|
.Dv EXTATTR_NAMESPACE_SYSTEM
|
|
|
|
namespace:
|
|
|
|
.Dq Li posix1e.acl_access ,
|
|
|
|
which holds the access ACL,
|
|
|
|
and
|
|
|
|
.Dq Li posix1e.acl_default ,
|
|
|
|
which holds the default ACL for directories.
|
|
|
|
If you are using file system extended attributes,
|
|
|
|
the following commands may be used to
|
|
|
|
allocate space for and create the necessary EA backing files
|
|
|
|
for ACLs in the root of each file system.
|
|
|
|
In these examples, the root file system is used;
|
|
|
|
see
|
|
|
|
.Sx "Extended Attributes"
|
|
|
|
for more details.
|
|
|
|
.Pp
|
|
|
|
.Bd -literal -offset indent
|
|
|
|
mkdir -p /.attribute/system
|
|
|
|
cd /.attribute/system
|
|
|
|
extattrctl initattr -p / 388 posix1e.acl_access
|
|
|
|
extattrctl initattr -p / 388 posix1e.acl_default
|
|
|
|
.Ed
|
|
|
|
.Pp
|
|
|
|
On the next mount of the root file system,
|
|
|
|
the attributes will be automatically started
|
|
|
|
(if UFS_EXTATTR_AUTOSTART is included in the kernel configuration),
|
|
|
|
and ACLs will be enabled.
|
|
|
|
.Ss Directory Hashing
|
|
|
|
.Bl -tag -width 2n
|
|
|
|
.It Cd options UFS_DIRHASH
|
|
|
|
Implements a hash-based lookup scheme for directories
|
|
|
|
in order to speed up accesses to very large directories.
|
|
|
|
.El
|
|
|
|
.Ss Extended Attributes
|
|
|
|
.Bl -tag -width 2n
|
|
|
|
.It Cd options UFS_EXTATTR
|
|
|
|
Extended attributes allow the association of
|
|
|
|
additional arbitrary metadata with files and directories,
|
|
|
|
which can be assigned and retrieved from userland
|
|
|
|
as well as from within the kernel; see
|
|
|
|
.Xr extattrctl 8 .
|
|
|
|
.It Cd options UFS_EXTATTR_AUTOSTART
|
|
|
|
If this option is defined,
|
|
|
|
.Nm ffs
|
|
|
|
will search for a
|
|
|
|
.Dq Pa .attribute
|
|
|
|
subdirectory of the file system root during the mount operation.
|
|
|
|
If found, extended attribute support will be
|
|
|
|
automatically started for that file system.
|
|
|
|
.El
|
2001-12-27 03:05:44 +00:00
|
|
|
.Pp
|
|
|
|
The following
|
|
|
|
.Xr sysctl 8
|
|
|
|
MIBs are defined for use with
|
2002-01-05 20:18:35 +00:00
|
|
|
.Nm ffs :
|
2001-12-27 03:05:44 +00:00
|
|
|
.Bl -hang -width "vfs.ffs.doreallocblk"
|
|
|
|
.It Em vfs.ffs.doasyncfree
|
|
|
|
Asynchronously write out modified inode and indirect blocks
|
|
|
|
upon reallocating file system blocks to be contiguous.
|
|
|
|
(Default: 1.)
|
|
|
|
.It Em vfs.ffs.doreallocblks
|
|
|
|
Enable support for the rearrangement of blocks
|
|
|
|
to be contiguous.
|
|
|
|
(Default: 1.)
|
|
|
|
.El
|
|
|
|
.Sh SEE ALSO
|
2002-01-05 20:18:35 +00:00
|
|
|
.Xr quota 1 ,
|
|
|
|
.Xr acl 3 ,
|
|
|
|
.Xr extattr 3 ,
|
|
|
|
.Xr edquota 8 ,
|
|
|
|
.Xr extattrctl 8 ,
|
|
|
|
.Xr sysctl 8 ,
|
2001-12-27 03:05:44 +00:00
|
|
|
.Rs
|
|
|
|
.%A M. McKusick
|
|
|
|
.%A W. Joy
|
|
|
|
.%A S. Lefler
|
|
|
|
.%A R. Fabry
|
|
|
|
.%D August 1984
|
|
|
|
.%T "A Fast File System for UNIX"
|
|
|
|
.%J "ACM Transactions on Computer Systems"
|
|
|
|
.%N 2
|
|
|
|
.%V 3
|
|
|
|
.%P 181-197
|
|
|
|
.Re
|
|
|
|
.Rs
|
|
|
|
.%A M. McKusick
|
|
|
|
.%D June 2000
|
|
|
|
.%T "Soft Updates: A Technique for Eliminating Most Synchronous Writes in the Fast Filesystem"
|
|
|
|
.%J "Proceedings of the Freenix Track at the 1999 Usenix Annual Technical Conference"
|
|
|
|
.%P 71-84
|
|
|
|
.Re
|