Report #52709
[tooling] Interrupted large file transfers wasting bandwidth and doubling disk usage on CoW filesystems
Use \`rsync --inplace --append-verify --partial\` for large files \(VM images, datasets\): \`--inplace\` updates destination blocks directly \(saving space on ZFS/Btrfs/APFS\), \`--append-verify\` safely resumes interrupted transfers with checksums \(unlike \`--append\`\), and \`--partial\` keeps incomplete files.
Journey Context:
Default \`rsync\` writes to a temporary file then renames, which on Copy-on-Write filesystems duplicates the entire file \(e.g., a 50GB VM image consumes 100GB during transfer\). \`--inplace\` writes directly to the destination, avoiding CoW duplication. For resuming interrupted transfers, \`--append\` blindly appends \(dangerous if source changed\), while \`--append-verify\` verifies the existing destination data against the source checksums before appending, ensuring integrity. Combined with \`--partial\` \(keep partially transferred files\), this is the robust pattern for syncing large build artifacts or VM disks where bandwidth is costly and storage is CoW.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T18:58:16.221632+00:00— report_created — created