Provided by: btrfs-progs_6.6.3-1.2_amd64 bug

NAME

       btrfs-send - generate a stream of changes between two subvolume snapshots

SYNOPSIS

       btrfs send [-ve] [-p <parent>] [-c <clone-src>] [-f <outfile>] <subvol> [<subvol>...]

DESCRIPTION

       This  command  will  generate  a  stream of instructions that describe changes between two
       subvolume snapshots. The stream can be consumed by the btrfs receive command to  replicate
       the  sent snapshot on a different filesystem.  The command operates in two modes: full and
       incremental.

       All snapshots involved in one send command must be read-only, and this  status  cannot  be
       changed  as  long  as  there's  a running send operation that uses the snapshot. Read-only
       mount of the subvolume is not sufficient, there's no way to guarantee that there won't  be
       any  other  writable  mount  of the same subvolume that would potentially write while send
       would be running.

       In the full mode, the entire snapshot data and metadata will end up in the stream.

       In the incremental mode (options -p and -c), previously sent snapshots that are  available
       on  both  the  sending  and receiving side can be used to reduce the amount of information
       that has to be sent to reconstruct the sent snapshot on a different filesystem.

       The -p <parent> option can be omitted when -c <clone-src> options are given, in which case
       btrfs send will determine a suitable parent from among the clone sources.

       You  must  not specify clone sources unless you guarantee that these snapshots are exactly
       in the same state on both sides--both for the sender and the receiver. For implications of
       changed  read-write  status  of  a received snapshot please see section SUBVOLUME FLAGS in
       btrfs-subvolume(8).

       Options

       -e     if sending multiple subvolumes at once, use the new format and  omit  the  end  cmd
              marker in the stream separating the subvolumes

       -p <parent>
              send an incremental stream from parent to subvol

       -c <clone-src>
              use this snapshot as a clone source for an incremental send (multiple allowed)

       -f <outfile>
              output  is  normally written to standard output so it can be, for example, piped to
              btrfs receive. Use this option to write it to a file instead.

       --no-data
              send in NO_FILE_DATA mode

              The output stream does not contain any  file  data  and  thus  cannot  be  used  to
              transfer  changes.  This  mode  is  faster and is useful to show the differences in
              metadata.

       --proto <N>
              use send protocol version N

              The default is 1, which was the original protocol version. Version 2  encodes  file
              data  slightly  more  efficiently;  it is also required for sending compressed data
              directly (see --compressed-data). Version 2 requires at least  btrfs-progs  6.0  on
              both  the sender and receiver and at least Linux 6.0 on the sender. Passing 0 means
              to use the highest version supported by the running kernel.

       --compressed-data
              send data that is compressed on the filesystem directly without decompressing it

              If the receiver supports the BTRFS_IOC_ENCODED_WRITE ioctl (added in Linux 6.0), it
              can  also write it directly without decompressing it.  Otherwise, the receiver will
              fall back to decompressing it and writing it normally.

              This requires protocol  version  2  or  higher.  If  --proto  was  not  used,  then
              --compressed-data implies --proto 2.

       -q|--quiet
              (deprecated) alias for global -q option

       -v|--verbose
              (deprecated) alias for global -v option

       Global options

       -q|--quiet
              suppress all messages except errors

       -v|--verbose
              increase output verbosity, print generated commands in a readable form

EXIT STATUS

       btrfs  send  returns  a  zero  exit status if it succeeds. Non zero is returned in case of
       failure.

AVAILABILITY

       btrfs   is   part   of   btrfs-progs.    Please   refer   to    the    documentation    at
       https://btrfs.readthedocs.io.

SEE ALSO

       btrfs-receive(8), btrfs-subvolume(8), mkfs.btrfs(8)