btrfs-receive man page

btrfs-receive — receive subvolumes from stdin/file.


btrfs receive [options] <mount>


Receives one or more subvolumes that were previously sent with btrfs send. The received subvolumes are stored into <mount>.

btrfs receive will fail with the following case:

  1. a receiving subvolume already exists.
  2. a previously received subvolume was changed after it was received.
  3. default subvolume is changed or you don’t mount btrfs filesystem with fs tree.

After receiving a subvolume, it is immediately set to read only.


Enable verbose debug output. Each occurrence of this option increases the verbose level more.
-f <infile>
By default, btrfs receive uses stdin to receive the subvolumes. Use this option to specify a file to use instead.
Confine the process to <mount> using chroot.
Terminate after receiving an <end cmd> in the data stream. Without this option, the receiver terminates only if an error is recognized or on EOF.
--max-errors <N>
Terminate as soon as N errors happened while processing commands from the send stream. Default value is 1. A value of 0 means no limit.
The root mount point of the destination fs.

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 http://btrfs.wiki.kernel.org for further details.

See Also

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