Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
xfs_fsr(8)		     System Manager's Manual		      xfs_fsr(8)

NAME
     xfs_fsr - filesystem reorganizer for XFS

SYNOPSIS
     xfs_fsr [-vdg] [-t seconds] [-p passes] [-f leftoff] [-m mtab]
     xfs_fsr [-vdg] [xfsdev | file] ...
     xfs_fsr -V

DESCRIPTION
     xfs_fsr is applicable only to XFS filesystems.

     xfs_fsr  improves the organization of mounted filesystems.  The reorganiza-
     tion algorithm operates on one file at a time, compacting or otherwise  im-
     proving 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  seconds  (2
		  hours).

     -p passes	  Number  of  passes  before terminating global re-org.  The de-
		  fault is 10 passes.

     -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
		  reorganization left off.

     -v 	  Verbose.  Print cryptic information about each file being  re-
		  organized.

     -d 	  Debug.  Print even more cryptic information.

     -g 	  Print to syslog (default if stdout not a tty).

     -V 	  Prints the version number and exits.

     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 de-
     fragment 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  some-
     how  inconsistent or out of date it is ignored and reorganization starts at
     the beginning of the first filesystem found in /etc/mtab.

     xfs_fsr can be called with one or more arguments naming filesystems  (block
     device  name), and files to reorganize.  In this mode xfs_fsr does not read
     or write /var/tmp/.fsrlast_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  gener-
     ates  a  warning  message,  but is otherwise ignored.  While traversing 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 reorganization 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  than	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 cre-
     ated 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.

     Files marked as no-defrag will be skipped.  The  xfs_io(8)  chattr  command
     with  the	f attribute can be used to set or clear this flag. Files and di-
     rectories created in a directory with the no-defrag flag will  inherit  the
     attribute.

     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 system partitions
     such as /, /boot and /usr as in general these will not suffer from fragmen-
     tation.  There are also issues with defragmenting	files  lilo(8)	uses  to
     boot  your  system. It is recommended that these files should be flagged as
     no-defrag with the xfs_io(8) chattr command. Should these files be moved by
     xfs_fsr then you must rerun lilo before you reboot or you may have  an  un-
     bootable system.

								      xfs_fsr(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=xfs_fsr&sektion=8&manpath=FreeBSD+Ports+15.1.quarterly>

home | help