if (fd < 0)
return log_debug_errno(fd, "Failed to copy image %s to %s: %m",
*root_image, new_root);
-
- /* A root image might be subject to lots of random writes so let's try to disable COW on it
- * which tends to not perform well in combination with lots of random writes.
- *
- * Note: btrfs actually isn't impressed by us setting the flag after making the reflink'ed
- * copy, but we at least want to make the intention clear.
- */
- r = chattr_fd(fd, FS_NOCOW_FL, FS_NOCOW_FL, NULL);
- if (r < 0)
- log_debug_errno(r, "Failed to disable copy-on-write for %s, ignoring: %m", new_root);
} else {
assert(*root_directory);
{
BLOCK_SIGNALS(SIGINT);
- r = copy_file_full(arg_image, np, O_EXCL, arg_read_only ? 0400 : 0600,
- FS_NOCOW_FL, FS_NOCOW_FL,
- COPY_REFLINK|COPY_CRTIME|COPY_SIGINT,
- NULL, NULL);
+ r = copy_file(arg_image, np, O_EXCL, arg_read_only ? 0400 : 0600,
+ COPY_REFLINK|COPY_CRTIME|COPY_SIGINT);
}
if (r == -EINTR) {
log_error_errno(r, "Interrupted while copying image file to %s, removed again.", np);
case IMAGE_RAW:
new_path = strjoina("/var/lib/machines/", new_name, ".raw");
- r = copy_file_atomic_full(i->path, new_path, read_only ? 0444 : 0644, FS_NOCOW_FL, FS_NOCOW_FL,
- COPY_REFLINK|COPY_CRTIME, NULL, NULL);
+ r = copy_file_atomic(i->path, new_path, read_only ? 0444 : 0644, COPY_REFLINK|COPY_CRTIME);
break;
case IMAGE_BLOCK: