btrfs-receive man page

btrfs-receive — receive subvolumes from send stream


btrfs receive [options] <path>


Receive a stream of changes and replicate one or more subvolumes that were previously used with btrfs send The received subvolumes are stored to path.

btrfs receive will fail int the following cases:

1. receiving subvolume already exists

2. previously received subvolume was changed after it was received

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

A subvolume is made read-only after the receiving process finishes succesfully.



enable verbose debug output, print each operation (each occurrence of this option increases the verbosity level)

-f <infile>

by default, btrfs receive uses standard input to receive the stream, use this option to read from a file instead


confine the process to path using chroot(1)


terminate after receiving an end cmd marker in the stream.

Without this option, the receiver terminates only if an error is encountered or at end of file

--max-errors <N>

terminate as soon as N errors happened while processing commands from the send stream, default value is 1, 0 means no limit

-m <mountpoint>

the root mount point of the destination filesystem

By default the mountpoint is searched in /proc/self/mounts. If you do not have /proc, eg. in a chroot environment, use this option to tell us where this filesystem is mounted.

Exit Status

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


btrfs is part of btrfs-progs. Please refer to the btrfs wiki for further details.

See Also

mkfs.btrfs(8), btrfs-send(8)

Referenced By

btrfs(8), btrfs-send(8).

11/30/2016 Btrfs v4.8.5 Btrfs Manual