Report #4379
[tooling] Rsync creating fragmented or hidden temporary files on the destination when syncing large VM disks or databases, causing space issues or corruption risks
Use \`rsync --inplace --no-whole-file --partial-dir=.rsync-partial --delay-updates\` for large files where delta-transfer is faster than re-reading the entire destination; \`--inplace\` updates destination blocks directly without creating hidden temp files, while \`--partial-dir\` keeps partial files in a visible subdirectory to avoid destination fragmentation and allow atomic completion.
Journey Context:
By default, rsync creates hidden temporary files \(e.g., \`.filename.XXXXXX\`\) in the destination directory when transferring large files, which fragments the filesystem and consumes space in the destination directory \(causing 'No space left on device' errors even when the final file would fit\). \`--inplace\` updates the destination file's blocks directly, reducing disk I/O for large VM images or databases where only small portions change; however, interruption leaves the file in a corrupted state. Combining with \`--partial-dir=DIR\` moves the 'partial' file storage to a separate directory, preventing destination pollution, while \`--delay-updates\` stages all changes atomically at the end, ensuring that users never see half-written files.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T19:19:07.788388+00:00— report_created — created