# phpman > man > btrfs-receive(8)

[BTRFS-RECEIVE(8)](https://www.chedong.com/phpMan.php/man/BTRFS-RECEIVE/8/markdown)                            Btrfs Manual                            [BTRFS-RECEIVE(8)](https://www.chedong.com/phpMan.php/man/BTRFS-RECEIVE/8/markdown)



## NAME
       btrfs-receive - receive subvolumes from send stream

## SYNOPSIS
       **btrfs** **receive** [options] _<path>_

       or

       **btrfs** **receive** --dump [options]

## DESCRIPTION
       Receive a stream of changes and replicate one or more subvolumes that were previously
       generated by **btrfs** **send**. The received subvolumes are stored to _path_, unless _--dump_ option is
       given.

       If _--dump_ option is specified, **btrfs** **receive** will only do the validation of the stream, and
       print the stream metadata, one operation per line.

       **btrfs** **receive** will fail in the following cases:

        1. receiving subvolume already exists

        2. previously received subvolume has been changed after it was received

        3. default subvolume has changed or you didn’t mount the filesystem at the toplevel
           subvolume

       A subvolume is made read-only after the receiving process finishes successfully (see BUGS
       below).

### Options

       -f _<FILE>_
           read the stream from _<FILE>_ instead of stdin,

       -C|--chroot
           confine the process to _path_ using [**chroot**(1)](https://www.chedong.com/phpMan.php/man/chroot/1/markdown)

### -e
           terminate after receiving an _end_ _cmd_ marker in the stream.

           Without this option the receiver side terminates only in case of an error on end of file.

       -E|--max-errors _<NERR>_
           terminate as soon as NERR errors occur while stream processing commands from the stream

           Default value is 1. A value of 0 means no limit.

       -m _<ROOTMOUNT>_
           the root mount point of the destination filesystem

           By default the mountpoint is searched in _/proc/self/mounts_. If _/proc_ is not accessible,
           eg. in a chroot environment, use this option to tell us where this filesystem is mounted.

### --dump
           dump the stream metadata, one line per operation

           Does not require the _path_ parameter. The filesystem remains unchanged.

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

### -v
           (deprecated) alias for global _-v_ option

### Global options

       -v|--verbose
           increase verbosity about performed actions, print details about each operation

       -q|--quiet
           suppress all messages except errors

## BUGS
       **btrfs** **receive** sets the subvolume read-only after it completes successfully. However, while
       the receive is in progress, users who have write access to files or directories in the
       receiving _path_ can add, remove, or modify files, in which case the resulting read-only
       subvolume will not be an exact copy of the sent subvolume.

       If the intention is to create an exact copy, the receiving _path_ should be protected from
       access by users until the receive operation has completed and the subvolume is set to
       read-only.

       Additionally, receive does not currently do a very good job of validating that an incremental
       send stream actually makes sense, and it is thus possible for a specially crafted send stream
       to create a subvolume with reflinks to arbitrary files in the same filesystem. Because of
       this, users are advised to not use **btrfs** **receive** on send streams from untrusted sources, and
       to protect trusted streams when sending them across untrusted networks.

## EXIT STATUS
       **btrfs** **receive** 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 btrfs wiki **<http://btrfs.wiki.kernel.org>** for
       further details.

## SEE ALSO
       [**mkfs.btrfs**(8)](https://www.chedong.com/phpMan.php/man/mkfs.btrfs/8/markdown), [**btrfs-send**(8)](https://www.chedong.com/phpMan.php/man/btrfs-send/8/markdown)



Btrfs v5.16.2                                02/16/2022                             [BTRFS-RECEIVE(8)](https://www.chedong.com/phpMan.php/man/BTRFS-RECEIVE/8/markdown)
