mirror of
https://github.com/systemd/systemd.git
synced 2026-08-09 17:38:42 +00:00
systemd-repart currently forces newly created image files into NOCOW mode. That prevents files from being reflinked into the image, making image builds slower and increasing their disk usage on filesystems that support cloning. Add a tristate --cow= option. By default, leave the filesystem or parent directory COW policy unchanged. With --cow=yes, explicitly enable COW; with --cow=no, retain the previous behavior of forcing NOCOW. Add XO_COW as the counterpart to XO_NOCOW so xopenat_full() applies either policy while retaining its normal creation-error cleanup. Document the new option and extend TEST-58-REPART to verify inherited COW and NOCOW policies as well as explicit COW and NOCOW overrides. Compare the unset behavior with the filesystem default so the test also works on nodatacow mounts, and skip it when the inode attribute is unsupported. Signed-off-by: Daan De Meyer <daan@amutable.com>