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

FreeBSD Manual Pages

  
 
  

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

NAME
       xfs_copy	- copy the contents of an XFS filesystem

SYNOPSIS
       xfs_copy	[ -bd ]	[ -L log ] source target1 [ target2 ...	]
       xfs_copy	-V

DESCRIPTION
       xfs_copy	 copies	 an  XFS filesystem to one or more targets in parallel
       (see xfs(5)).  The first	(source) argument must be the pathname of  the
       device  or  file	containing the XFS filesystem. The remaining arguments
       specify one or more target devices or  file  names.  If	the  pathnames
       specify devices,	a copy of the source XFS filesystem is created on each
       device.	The  target  can  also be the name of a	regular	file, in which
       case an image of	the source XFS filesystem is created in	that file.  If
       the  file  does not exist, xfs_copy creates the file. The length	of the
       resulting file is equal to the size of the source filesystem.  However,
       if  the file is created on an XFS filesystem, the file consumes roughly
       the amount of space actually used  in  the  source  filesystem  by  the
       filesystem and the XFS log.  The	space saving is	because	xfs_copy seeks
       over  free  blocks  instead of copying them and the XFS filesystem sup-
       ports sparse files efficiently.

       xfs_copy	should only be used to copy unmounted  filesystems,  read-only
       mounted filesystems, or frozen filesystems (see xfs_freeze(8)).	Other-
       wise, the generated filesystem(s) would be inconsistent or corrupt.

       xfs_copy	 does  not  alter  the	source filesystem in any way. Each new
       (target)	filesystem is identical	to the original	filesystem except that
       new filesystems each have a new unique  filesystem  identifier  (UUID).
       Therefore, if both the old and new filesystems will be used as separate
       distinct	 filesystems,  xfs_copy	 or xfsdump(8)/xfsrestore(8) should be
       used to generate	the new	filesystem(s) instead of dd(1) or  other  pro-
       grams that do block-by-block disk copying.

       xfs_copy	 uses  synchronous  writes to ensure that write	errors are de-
       tected.

       xfs_copy	uses pthreads(7)  to  perform  simultaneous  parallel  writes.
       xfs_copy	 creates  one additional thread	for each target	to be written.
       All threads die if xfs_copy terminates or aborts.

OPTIONS
       -d     Create a duplicate (true clone) filesystem. This should be  done
	      only if the new filesystem will be used as a replacement for the
	      original filesystem (such	as in the case of disk replacement).

       -b     The  buffered  option can	be used	to ensure direct IO is not at-
	      tempted to any of	the target files.  This	 is  useful  when  the
	      filesystem holding the target file does not support direct IO.

       -L log Specifies	 the  location	of  the	log if the default location of
	      /var/tmp/xfs_copy.log.XXXXXX is not desired.

       -V     Prints the version number	and exits.

DIAGNOSTICS
       xfs_copy	reports	errors to both stderr and in more detailed form	 to  a
       generated     log     file     whose    name    is    of	   the	  form
       /var/tmp/xfs_copy.log.XXXXXX or a log file specified by the -L  option.
       If  xfs_copy  detects  a	 write error on	a target, the copy of that one
       target is aborted and an	error message is issued	to both	stderr and the
       log file, but the rest of the copies  continue.	When  xfs_copy	termi-
       nates,  all  aborted  targets  are  reported to both stderr and the log
       file.

       If all targets abort or	if  there  is  an  error  reading  the	source
       filesystem, xfs_copy immediately	aborts.

       xfs_copy	 returns  an  exit  code  of 0 if all targets are successfully
       copied and an exit code of 1 if any target fails.

NOTES
       When moving filesystems from one	 disk  to  another,  if	 the  original
       filesystem  is  significantly smaller than the new filesystem, and will
       be made larger, we recommend  that  mkfs.xfs(8)	and  xfsdump(8)/xfsre-
       store(8)	 be  used  instead  of	using xfs_copy and xfs_growfs(8).  The
       filesystem layout resulting from	using  xfs_copy/xfs_growfs  is	almost
       always  worse  than the result of using mkfs.xfs/xfsdump/xfsrestore but
       in the case of small filesystems, the differences can have  a  signifi-
       cant  performance  impact.  This	is due to the way xfs_growfs(8)	works,
       and not due to any shortcoming in xfs_copy itself.

CAVEATS
       xfs_copy	does not copy XFS filesystems that have	a real-time section or
       XFS filesystems with external logs. In both cases, xfs_copy aborts with
       an error	message.

SEE ALSO
       mkfs.xfs(8), xfsdump(8),	xfsrestore(8),	xfs_freeze(8),	xfs_growfs(8),
       xfs(5).

								   xfs_copy(8)

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

home | help