Provided by: xfsprogs_3.1.9ubuntu2.1_amd64 bug


       xfs - layout of the XFS filesystem


       An  XFS  filesystem can reside on a regular disk partition or on a logical volume.  An XFS
       filesystem has up to three parts: a data section, a log section, and a  realtime  section.
       Using the default mkfs.xfs(8) options, the realtime section is absent, and the log area is
       contained within the data section.  The log section can be either separate from  the  data
       section or contained within it.  The filesystem sections are divided into a certain number
       of blocks, whose size is specified at mkfs.xfs(8) time with the -b option.

       The data section contains all  the  filesystem  metadata  (inodes,  directories,  indirect
       blocks)  as  well as the user file data for ordinary (non-realtime) files and the log area
       if the log is internal to the data section.  The data section is divided into a number  of
       allocation groups.  The number and size of the allocation groups are chosen by mkfs.xfs(8)
       so that there is normally a small number of equal-sized groups.  The number of  allocation
       groups  controls  the  amount  of  parallelism available in file and block allocation.  It
       should be increased from the default if there is sufficient memory and a lot of allocation
       activity.   The  number  of  allocation groups should not be set very high, since this can
       cause large amounts of CPU time  to  be  used  by  the  filesystem,  especially  when  the
       filesystem  is  nearly full.  More allocation groups are added (of the original size) when
       xfs_growfs(8) is run.

       The log section (or area, if it is internal to the data section) is used to store  changes
       to filesystem metadata while the filesystem is running until those changes are made to the
       data section.  It is written sequentially during normal operation  and  read  only  during
       mount.   When  mounting a filesystem after a crash, the log is read to complete operations
       that were in progress at the time of the crash.

       The realtime section is used to store the data of realtime  files.   These  files  had  an
       attribute  bit  set  through xfsctl(3) after file creation, before any data was written to
       the file.  The realtime section is  divided  into  a  number  of  extents  of  fixed  size
       (specified  at  mkfs.xfs(8)  time).   Each file in the realtime section has an extent size
       that is a multiple of the realtime section extent size.

       Each allocation group contains several data structures.  The  first  sector  contains  the
       superblock.   For  allocation groups after the first, the superblock is just a copy and is
       not updated after mkfs.xfs(8).  The next three sectors contain information for  block  and
       inode allocation within the allocation group.  Also contained within each allocation group
       are data structures to locate free blocks and inodes; these are located through the header

       Each  XFS  filesystem  is  labeled with a Universal Unique Identifier (UUID).  The UUID is
       stored in every allocation group header and is used to help distinguish one XFS filesystem
       from  another,  therefore  you  should  avoid  using dd(1) or other block-by-block copying
       programs to copy XFS filesystems.  If two XFS filesystems on the  same  machine  have  the
       same  UUID,  xfsdump(8)  may  become  confused  when  doing incremental and resumed dumps.
       xfsdump(8) and xfsrestore(8) are recommended for making copies of XFS filesystems.


       Some functionality specific to the XFS filesystem is accessible  to  applications  through
       the xfsctl(3) and by-handle (see open_by_handle(3)) interfaces.


       Refer to the mount(8) manual entry for descriptions of the individual XFS mount options.


       xfsctl(3), mount(8), mkfs.xfs(8), xfs_info(8), xfs_admin(8), xfsdump(8), xfsrestore(8).