+++ /dev/null
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Alexandre Derumier <aderumier@odiso.com>
-Date: Wed, 21 Mar 2018 08:51:34 +0100
-Subject: [PATCH] qemu-img dd : add -n skip_create
-
----
- qemu-img.c | 23 ++++++++++++++---------
- 1 file changed, 14 insertions(+), 9 deletions(-)
-
-diff --git a/qemu-img.c b/qemu-img.c
-index e23285d7d4..b3f17184ac 100644
---- a/qemu-img.c
-+++ b/qemu-img.c
-@@ -4239,7 +4239,7 @@ static int img_dd(int argc, char **argv)
- const char *fmt = NULL;
- int64_t size = 0, readsize = 0;
- int64_t block_count = 0, out_pos, in_pos;
-- bool force_share = false;
-+ bool force_share = false, skip_create = false;
- struct DdInfo dd = {
- .flags = 0,
- .count = 0,
-@@ -4277,7 +4277,7 @@ static int img_dd(int argc, char **argv)
- { 0, 0, 0, 0 }
- };
-
-- while ((c = getopt_long(argc, argv, ":hf:O:U", long_options, NULL))) {
-+ while ((c = getopt_long(argc, argv, ":hf:O:U:n", long_options, NULL))) {
- if (c == EOF) {
- break;
- }
-@@ -4297,6 +4297,9 @@ static int img_dd(int argc, char **argv)
- case 'h':
- help();
- break;
-+ case 'n':
-+ skip_create = true;
-+ break;
- case 'U':
- force_share = true;
- break;
-@@ -4437,13 +4440,15 @@ static int img_dd(int argc, char **argv)
- size - in.bsz * in.offset, &error_abort);
- }
-
-- ret = bdrv_create(drv, out.filename, opts, &local_err);
-- if (ret < 0) {
-- error_reportf_err(local_err,
-- "%s: error while creating output image: ",
-- out.filename);
-- ret = -1;
-- goto out;
-+ if (!skip_create) {
-+ ret = bdrv_create(drv, out.filename, opts, &local_err);
-+ if (ret < 0) {
-+ error_reportf_err(local_err,
-+ "%s: error while creating output image: ",
-+ out.filename);
-+ ret = -1;
-+ goto out;
-+ }
- }
-
- /* TODO, we can't honour --image-opts for the target,
---
-2.11.0
-