qcow2: when dissecting qcow2, use btrfs clone ioctls for reflinking blocks to target

This commit is contained in:
Lennart Poettering
2015-01-19 20:24:09 +01:00
parent 1e20b41187
commit 1c7dd82563
4 changed files with 28 additions and 0 deletions
+6
View File
@@ -24,6 +24,7 @@
#include "util.h"
#include "sparse-endian.h"
#include "qcow2-util.h"
#include "btrfs-util.h"
#define QCOW2_MAGIC 0x514649fb
@@ -85,6 +86,11 @@ static int copy_cluster(
void *buffer) {
ssize_t l;
int r;
r = btrfs_clone_range(sfd, soffset, dfd, doffset, cluster_size);
if (r >= 0)
return r;
l = pread(sfd, buffer, cluster_size, soffset);
if (l < 0)