xfs_fsr - filesystem reorganizer for XFS
SYNOPSIS
xfs_fsr [-v] [-t seconds] [-f leftoff] [-m mtab]
xfs_fsr [-v] [xfsdev | file] ...
DESCRIPTION
xfs_fsr is applicable only to XFS filesystems.
xfs_fsr improves the organization of mounted filesystems.
The reorganization algorithm operates on one file at a
time, compacting or otherwise improving the layout of the
file extents (contiguous blocks of file data).
The following options are accepted by xfs_fsr. The -m,
-t, and -f options have no meaning if any filesystems or
files are specified on the command line.
-m mtab Use this file for the list of filesystems to
reorganize. The default is to use /etc/mtab.
-t seconds How long to reorganize. The default is 7200
(2 hours).
-f leftoff Use this file instead of /var/tmp/.fsrlast to
read the state of where to start and as the
file to store the state of where reorganiza
tion left off.
-v Verbose. Print cryptic information about
each file being reorganized.
The intended usage is to regularly run the fsr command
which in turn invokes xfs_fsr when it encounters XFS
filesystems. By default this is done from crontab once
per week.
When invoked with no arguments xfs_fsr reorganizes all
regular files in all mounted filesystems. xfs_fsr makes
many cycles over /etc/mtab each time making a single pass
over each XFS filesystem. Each pass goes through and
selects files that have the largest number of extents. It
attempts to defragment the top 10% of these files on each
pass.
It runs for up to two hours after which it records the
filesystem where it left off, so it can start there the
next time. This information is stored in the file
/var/tmp/.fsrlast_xfs. If the information found here is
somehow inconsistent or out of date it is ignored and
reorganization starts at the beginning of the first
filesystem found in /etc/mtab.
filesystems (block device name), and files to reorganize.
In this mode xfs_fsr does not read or write /var/tmp/.fsr
last_xfs nor does it run for a fixed time interval. It
makes one pass through each specified regular file and all
regular files in each specified filesystem. A command
line name referring to a symbolic link (except to a file
system device), FIFO, or UNIX domain socket generates a
warning message, but is otherwise ignored. While travers
ing the filesystem these types of files are silently
skipped.
FILES
/etc/mtab contains default list of filesystems
to reorganize.
/var/tmp/.fsrlast_xfs
records the state where reorganiza
tion left off.
SEE ALSO
xfs_fsr(8), mkfs.xfs(8), xfs_ncheck(8), xfs(5).
NOTES
xfs_fsr improves the layout of extents for each file by
copying the entire file to a temporary location and then
interchanging the data extents of the target and temporary
files in an atomic manner. This method requires that
enough free disk space be available to copy any given file
and that the space be less fragmented then the original
file. It also requires the owner of the file to have
enough remaining filespace quota to do the copy on systems
running quotas. xfs_fsr generates a warning message if
space is not sufficient to improve the target file.
A temporary file used in improving a file given on the
command line is created in the same parent directory of
the target file and is prefixed by the string '.fsr'. The
temporary files used in improving an entire XFS device are
stored in a directory at the root of the target device and
use the same naming scheme. The temporary files are
unlinked upon creation so data will not be readable by any
other process.
xfs_fsr does not operate on files that are currently
mapped in memory. A 'file busy' error can be seen for
these files if the verbose flag (-v) is set.
An entry in /etc/mtab or the file specified using the -m
option must have the rw option specified for read and
write access. If this option is not present, then xfs_fsr
skips the filesystem described by that line. See the
fstab(5) reference page for more details.
In general we do not foresee the need to run xfs_fsr on
these will not suffer from fragmentation. There are also
issues with defragmenting files lilo(8) uses to boot your
system. Should these files be moved by xfs_fsr then you
must rerun lilo before you reboot or you may have an
unbootable system.
Man(1) output converted with
man2html