xfs_fsr - filesystem reorganizer for XFS

xfs_fsrは、デフラグを行うコマンド
```
[root@xxxx linuxstudy]# xfs_fsr /dev/sdb5
/myxfs start inode=0
[root@xxxx linuxstudy]# xfs_fsr
xfs_fsr -m /proc/mounts -t 7200 -f /var/tmp/.fsrlast_xfs ...
/ start inode=0
XFS_IOC_SWAPEXT failed: ino=105719: 無効な引数です
/myxfs start inode=0
/boot start inode=0
/ start inode=0
XFS_IOC_SWAPEXT failed: ino=105719: 無効な引数です
/myxfs start inode=0
/boot start inode=0
/ start inode=0
XFS_IOC_SWAPEXT failed: ino=105719: 無効な引数です
/myxfs start inode=0
/boot start inode=0
/ start inode=0
XFS_IOC_SWAPEXT failed: ino=105719: 無効な引数です
/myxfs start inode=0
/boot start inode=0
/ start inode=0
XFS_IOC_SWAPEXT failed: ino=105719: 無効な引数です
/myxfs start inode=0
/boot start inode=0
/ start inode=0
XFS_IOC_SWAPEXT failed: ino=105719: 無効な引数です
/myxfs start inode=0
/boot start inode=0
/ start inode=0
XFS_IOC_SWAPEXT failed: ino=105719: 無効な引数です
/myxfs start inode=0
/boot start inode=0
/ start inode=0
XFS_IOC_SWAPEXT failed: ino=105719: 無効な引数です
/myxfs start inode=0
/boot start inode=0
/ start inode=0
XFS_IOC_SWAPEXT failed: ino=105719: 無効な引数です
/myxfs start inode=0
/boot start inode=0
/ start inode=0
XFS_IOC_SWAPEXT failed: ino=105719: 無効な引数です
/myxfs start inode=0
/boot start inode=0
Completed all 10 passes
```
```
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 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 seconds (2 hours).

       -p passes    Number of passes before terminating global re-org.  The default 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 reorganized.

       -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 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.

       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 generates 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 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.

       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 directories 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 fragmentation.  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 unbootable system.



                                                                                                                                                                                                   xfs_fsr(8)```