xfs_io man page on aLinux

Man page or keyword search:  
man Server   7435 pages
apropos Keyword Search (all sections)
Output format
aLinux logo
[printable version]

xfs_io(8)							     xfs_io(8)

NAME
       xfs_io - debug the I/O path of an XFS filesystem

SYNOPSIS
       xfs_io [ -adFfmrRstx ] [ -c cmd ] ... [ -p prog ] file

DESCRIPTION
       xfs_io  is  a  debugging tool like xfs_db(8), but is aimed at examining
       the regular file I/O paths rather  than	the  raw  XFS  volume  itself.
       These  code  paths  include not only the obvious read/write/mmap inter‐
       faces for manipulating files, but also cover all of the XFS  extensions
       (such as space preallocation, additional inode flags, etc).

OPTIONS
       -c cmd	 xfs_io	 commands may be run interactively (the default) or as
		 arguments on the command line. Multiple -c arguments  may  be
		 given.	 The  commands are run in the sequence given, then the
		 program exits.

       -p prog	 Set the program name for prompts and some error messages, the
		 default value is xfs_io.

       -F	 Allow	file to reside in non-XFS (foreign) filesystems.  This
		 mode has a restricted set of commands.

       -f	 Create file if it does not already exist.

       -r	 Open file read-only, initially. This is required if  file  is
		 immutable or append-only.

       -x	 Expert	 mode.	Dangerous  commands are only available in this
		 mode.	These commands also tend to require additional	privi‐
		 leges.

       The  other  open(2) options described below are also available from the
       command line.

CONCEPTS
       xfs_io maintains a number of open files and memory mappings.  Files can
       be  initially  opened  on the command line (optionally), and additional
       files can also be opened later.

       xfs_io commands can be broken up into three groups.  Some commands  are
       aimed  at  doing regular file I/O - read, write, sync, space prealloca‐
       tion, etc.

       The second set of commands exist for manipulating memory mapped regions
       of a file - mapping, accessing, storing, unmapping, flushing, etc.

       The  remaining  commands	 are  for  the	navigation and display of data
       structures relating to the open files, mappings,	 and  the  filesystems
       where they reside.

       Many commands have extensive online help. Use the help command for more
       details on any command.

FILE I/O COMMANDS
       file [ N ]
	      Display a list of all open files and (optionally) switch	to  an
	      alternate current open file.

       open [[ -FacdfrstR ] path ]
	      Closes  the  current  file, and opens the file specified by path
	      instead. Without any arguments, displays	statistics  about  the
	      current file - see the stat command.
		 -F  allows  non-XFS (foreign) files to be opened and operated
		     on with a restricted command set.
		 -a  opens append-only (O_APPEND).
		 -d  opens for direct I/O (O_DIRECT).
		 -f  creates the file if it doesn't already exist (O_CREAT).
		 -r  opens read-only (O_RDONLY).
		 -s  opens for synchronous I/O (O_SYNC).
		 -t  truncates on open (O_TRUNC).
		 -R  marks the file as a realtime XFS file after  opening  it,
		     if it is not already marked as such.

       o      See the open command.

       close  Closes the current open file, marking the next open file as cur‐
	      rent (if one exists).

       c      See the close command.

       pread [ -b bsize ] [ -v ] offset length
	      Reads a range of bytes in a specified blocksize from  the	 given
	      offset.
		 -b  can  be  used to set the blocksize into which the read(2)
		     requests will be split. The  default  blocksize  is  4096
		     bytes.
		 -v  dump the contents of the buffer after reading, by default
		     only the count of bytes actually read is dumped.

       r      See the pread command.

       pwrite [ -i file ] [ -d ] [ -s skip ] [ -b size ] [ -S  seed  ]	offset
       length
	      Writes  a range of bytes in a specified blocksize from the given
	      offset.  The bytes written can be either a set pattern  or  read
	      in from another file before writing.
		 -i  allows an input file to be specified as the source of the
		     data to be written.
		 -d  causes direct I/O, rather than the usual buffered I/O, to
		     be used when reading the input file.
		 -s  specifies	the  number of bytes to skip from the start of
		     the input file before starting to read.
		 -b  used  to  set  the	 blocksize  into  which	 the  write(2)
		     requests  will  be	 split.	 The default blocksize is 4096
		     bytes.
		 -S  used to set the (repeated) fill  pattern  which  is  used
		     when  the	data  to write is not coming from a file.  The
		     default buffer fill pattern value is 0xcdcdcdcd.

       w      See the pwrite command.

       bmap [ -adlpv ] [ -n nx ]
	      Prints the block mapping for the current open file. Refer to the
	      xfs_bmap(8) manual page for complete documentation.

       extsize [ -R | -D ] [ value ]
	      Display  and/or modify the preferred extent size used when allo‐
	      cating space for the currently open file. If the	-R  option  is
	      specified,  a  recursive	descent is performed for all directory
	      entries below the	 currently  open  file	(-D  can  be  used  to
	      restrict the output to directories only).	 If the target file is
	      a directory, then the inherited extent  size  is	set  for  that
	      directory	 (new  files  created  in  that directory inherit that
	      extent size).  The value should be specified in bytes, or	 using
	      one  of  the  usual units suffixes (k, m, g, b, etc). The extent
	      size is always reported in units of bytes.

       allocsp size 0
	      Sets the size of the file to  size  and  zeroes  any  additional
	      space  allocated using the XFS_IOC_ALLOCSP/XFS_IOC_FREESP system
	      call described in the xfsctl(3) manual page.  allocsp and freesp
	      do exactly the same thing.

       freesp size 0
	      See the allocsp command.

       fadvise [ -r | -s | [[ -d | -n | -w ] offset length ]]
	      On platforms which support it, allows hints be given to the sys‐
	      tem regarding the expected I/O patterns on the file.  The	 range
	      arguments	 are required by some advise commands ([*] below), and
	      the others must have no range arguments.	With no arguments, the
	      POSIX_FADV_NORMAL advice is implied (default readahead).
		 -d  the  data	will  not be accessed again in the near future
		     (POSIX_FADV_DONTNEED[*]).
		 -n  data  will	 be  accessed	once   and   not   be	reused
		     (POSIX_FADV_NOREUSE[*]).
		 -r  expect  access  to	 data in random order (POSIX_FADV_RAN‐
		     DOM), which sets readahead to zero.
		 -s  expect   access   to    data    in	   sequential	 order
		     (POSIX_FADV_SEQUENTIAL), which doubles the default reada‐
		     head on the file.
		 -w  advises  the  specified  data  will   be	needed	 again
		     (POSIX_FADV_WILLNEED[*])  which forces the maximum reada‐
		     head.

       fdatasync
	      Calls fdatasync(2) to flush the file's in-core data to disk.

       fsync  Calls fsync(2) to flush all in-core file state to disk.

       s      See the fsync command.

       resvsp offset length
	      Allocates reserved, unwritten space for part of a file using the
	      XFS_IOC_RESVSP  system  call  described  in the xfsctl(3) manual
	      page.

       unresvsp offset length
	      Frees  reserved  space  for   part   of	a   file   using   the
	      XFS_IOC_UNRESVSP	system	call described in the xfsctl(3) manual
	      page.

       truncate offset
	      Truncates the current file at  the  given	 offset	 using	ftrun‐
	      cate(2).

       sendfile -i srcfile | -f N [ offset length ]
	      On  platforms  which  support it, allows a direct in-kernel copy
	      between two file descriptors. The current open file is the  tar‐
	      get,  the	 source must be specified as another open file (-f) or
	      by path (-i).

MEMORY MAPPED I/O COMMANDS
       mmap [ N | [[ -rwx ] offset length ]]
	      With no arguments, mmap shows the current mappings. Specifying a
	      single numeric argument N sets the current mapping. If two argu‐
	      ments are specified (a range specified by offset and length),  a
	      new  mapping  is	created spanning the range, and the protection
	      mode can be given as a combination of PROT_READ (-r), PROT_WRITE
	      (-w), and PROT_EXEC (-x).

       mm     See the mmap command.

       munmap Unmaps the current memory mapping.

       mu     See the munmap command.

       mread [ -f | -v ] [ -r ] [ offset length ]
	      Accesses	a  segment  of	the current memory mapping, optionally
	      dumping it to the standard output stream (with -v or -f  option)
	      for inspection. The accesses are performed sequentially from the
	      start offset by default, but can also be done from the end back‐
	      wards  through  the  mapping if the -r option in specified.  The
	      two verbose modes differ only in the relative offsets they  dis‐
	      play,  the -f option is relative to file start, whereas -v shows
	      offsets relative to the start of the mapping.

       mr     See the mread command.

       mwrite [ -r ] [ -S seed ] [ offset length ]
	      Stores a byte into memory for a range  within  a	mapping.   The
	      default  stored  value is 'X', repeated to fill the range speci‐
	      fied, but this can be changed using the -S option.   The	memory
	      stores  are  performed  sequentially  from  the  start offset by
	      default, but can also be done from the end backwards through the
	      mapping if the -r option in specified.

       mw     See the mwrite command.

       msync [ -i ] [ -a | -s ] [ offset length ]
	      Writes all modified copies of pages over the specified range (or
	      entire mapping if no range specified) to their  backing  storage
	      locations.  Also, optionally invalidates (-i) so that subsequent
	      references to the pages will  be	obtained  from	their  backing
	      storage  locations (instead of cached copies).  The flush can be
	      done synchronously (-s) or asynchronously (-a).

       ms     See the msync command.

       madvise [ -d | -r | -s | -w ] [ offset length ]
	      Modifies page cache behavior when operating on the current  map‐
	      ping.   The range arguments are required by some advise commands
	      ([*] below).  With no arguments, the POSIX_MADV_NORMAL advice is
	      implied (default readahead).
		 -d  the pages will not be needed (POSIX_MADV_DONTNEED[*]).
		 -r  expect  random page references (POSIX_MADV_RANDOM), which
		     sets readahead to zero.
		 -s  expect  sequential	 page  references  (POSIX_MADV_SEQUEN‐
		     TIAL), which doubles the default readahead on the file.
		 -w  advises   the   specified	pages  will  be	 needed	 again
		     (POSIX_MADV_WILLNEED[*]) which forces the maximum	reada‐
		     head.

       mincore
	      Dumps  a	list of pages or ranges of pages that are currently in
	      core, for the current memory mapping.

OTHER COMMANDS
       print  Display a list of all open files and memory mapped regions.  The
	      current  file  and  current mapping are distinguishable from any
	      others.

       p      See the print command.

       quit   Exit xfs_io.

       q      See the quit command.

       lsattr [ -R | -D | -a | -v ]
	      List extended inode flags on the currently open file. If the  -R
	      option  is  specified,  a recursive descent is performed for all
	      directory entries below the currently open file (-D can be  used
	      to  restrict  the	 output to directories only).  This is a depth
	      first descent, it does not follow symlinks and it also does  not
	      cross mount points.

       chattr [ -R | -D ] [ +/-riasAdtPneEfS ]
	      Change  extended	inode flags on the currently open file. The -R
	      and -D options have the  same  meaning  as  above.  The  mapping
	      between  each letter and the inode flags (refer to xfsctl(3) for
	      the full list) is available via the help command.

       freeze Suspend all write I/O requests to the filesystem of the  current
	      file.  Only available in expert mode and requires privileges.

       thaw   Undo  the effects of a filesystem freeze operation.  Only avail‐
	      able in expert mode and requires privileges.

       inject [ tag ]
	      Inject errors into a filesystem to observe  filesystem  behavior
	      at  specific  points  under  adverse conditions. Without the tag
	      argument, displays the  list  of	error  tags  available.	  Only
	      available in expert mode and requires privileges.

       resblks [ blocks ]
	      Get  and/or  set	count  of reserved filesystem blocks using the
	      XFS_IOC_GET_RESBLKS or XFS_IOC_SET_RESBLKS system	 calls.	  Note
	      --  this	can  be	 useful	 for exercising out of space behavior.
	      Only available in expert mode and requires privileges.

       shutdown [ -f ]
	      Force the filesystem to shutdown (with or without	 flushing  the
	      log).  Only available in expert mode and requires privileges.

       stat [ -v ]
	      Selected statistics from stat(2) and the XFS_IOC_GETXATTR system
	      call on the current file. If the -v  option  is  specified,  the
	      atime  (last  access),  mtime  (last  modify),  and  ctime (last
	      change) timestamps are also displayed.

       statfs Selected statistics from statfs(2)  and  the  XFS_IOC_FSGEOMETRY
	      system call on the filesystem where the current file resides.

       parent [ -cpv ]
	      By  default  this	 command  prints out the parent inode numbers,
	      inode generation numbers and  basenames  of  all	the  hardlinks
	      which point to the inode of the current file.
		 -p  the  output is similar to the default output except path‐
		     names up to the mount-point are printed  out  instead  of
		     the component name.
		 -c  the   file's   filesystem	 will  check  all  the	parent
		     attributes for consistency.
		 -v  verbose output will be printed.
	      [NOTE: Not currently operational on Linux.]

SEE ALSO
       mkfs.xfs(8), xfsctl(3), xfs_bmap(8), xfs_db(8),	xfs(5),	 fdatasync(2),
       fstat(2),   fstatfs(2),	 fsync(2),  ftruncate(2),  mmap(2),  msync(2),
       open(2), pread(2), pwrite(2).

								     xfs_io(8)
[top]

List of man pages available for aLinux

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net