btrfs-send-stream · shipping · also Btrfs send/receive stream

Btrfs send stream

A Btrfs send stream is a versioned sequence of commands describing a subvolume or changes needed to reconstruct it from existing state.

Full and incremental transfers use the same command format. An incremental transfer can reference a parent and other clone sources, whose corresponding state must remain available and unchanged. The no-data mode omits file payload and is not a data-recovery copy. [1]

The format carries per-command CRC32C and subvolume references; it is not a sector image. A successful receive --dump decodes the stream without applying it to a destination, so it cannot establish target dependency availability or successful restoration. [2] [3]

Six synthetic protocol-v1 dump controls on btrfs-progs v6.6.3 accepted a stream with its whole WRITE command removed and a snapshot reference without any destination parent lookup. A flipped payload bit, absent END and truncated command were rejected. These are parser observations, not actual receives or measured backup failures. [5]

Relations

related
btrfs, btrfs-received-uuid, btrfs-read-only-subvolume, incremental-backup, reflink

Limitations

Citations

  1. btrfs-progs v6.17: send modes and clone-source preconditions (accessed 2026-10-18)
  2. btrfs-progs v6.17: send stream format and reference fields (accessed 2026-10-18)
  3. btrfs-progs v6.17: receive validation, write window and trust warning (accessed 2026-10-18)
  4. Hesela: six Btrfs dump parser controls, fixture hashes and recorded environment (accessed 2026-10-18)

Further reading

  1. Keeping Btrfs incremental backups recoverable (accessed 2026-10-18)
Sources & caveats

JSON: /data/terms/btrfs-send-stream.json

Published by Hesela team · Updated

Report a correction · Editorial standards · Reuse guidance

Cite this page
Hesela team. Btrfs send stream. Hesela. 2026-10-18. https://hesela.dev/terms/btrfs-send-stream/