]>
Commit | Line | Data |
---|---|---|
c0cf085d AD |
1 | From 6b8ac153620bbc1a39e9ee6eef0392219886ebb3 Mon Sep 17 00:00:00 2001 |
2 | From: Alexandre Derumier <aderumier@odiso.com> | |
3 | Date: Mon, 29 Oct 2012 10:02:33 +0100 | |
4 | Subject: [PATCH] skipcreate | |
5 | ||
6 | ||
7 | Signed-off-by: Alexandre Derumier <aderumier@odiso.com> | |
8 | --- | |
9 | qemu-img.c | 36 +++++++++++++++++++++--------------- | |
10 | 1 file changed, 21 insertions(+), 15 deletions(-) | |
11 | ||
e96de165 DM |
12 | Index: new/qemu-img.c |
13 | =================================================================== | |
14 | --- new.orig/qemu-img.c 2012-11-21 11:51:19.000000000 +0100 | |
15 | +++ new/qemu-img.c 2012-11-21 12:45:10.000000000 +0100 | |
16 | @@ -660,7 +660,7 @@ | |
c0cf085d AD |
17 | |
18 | static int img_convert(int argc, char **argv) | |
19 | { | |
20 | - int c, ret = 0, n, n1, bs_n, bs_i, compress, cluster_size, cluster_sectors; | |
21 | + int c, ret = 0, n, n1, bs_n, bs_i, compress, cluster_size, cluster_sectors, skipcreate; | |
22 | int progress = 0, flags; | |
23 | const char *fmt, *out_fmt, *cache, *out_baseimg, *out_filename; | |
24 | BlockDriver *drv, *proto_drv; | |
e96de165 | 25 | @@ -682,8 +682,9 @@ |
c0cf085d AD |
26 | cache = "unsafe"; |
27 | out_baseimg = NULL; | |
28 | compress = 0; | |
29 | + skipcreate = 0; | |
30 | for(;;) { | |
31 | - c = getopt(argc, argv, "f:O:B:s:hce6o:pS:t:"); | |
32 | + c = getopt(argc, argv, "f:O:B:s:hcCe6o:pS:t:"); | |
33 | if (c == -1) { | |
34 | break; | |
35 | } | |
e96de165 | 36 | @@ -704,6 +705,9 @@ |
c0cf085d AD |
37 | case 'c': |
38 | compress = 1; | |
39 | break; | |
40 | + case 'C': | |
41 | + skipcreate = 1; | |
42 | + break; | |
43 | case 'e': | |
44 | error_report("option -e is deprecated, please use \'-o " | |
45 | "encryption\' instead!"); | |
e96de165 | 46 | @@ -864,20 +868,22 @@ |
c0cf085d AD |
47 | } |
48 | } | |
49 | ||
50 | - /* Create the new image */ | |
51 | - ret = bdrv_create(drv, out_filename, param); | |
52 | - if (ret < 0) { | |
53 | - if (ret == -ENOTSUP) { | |
54 | - error_report("Formatting not supported for file format '%s'", | |
55 | - out_fmt); | |
56 | - } else if (ret == -EFBIG) { | |
57 | - error_report("The image size is too large for file format '%s'", | |
58 | - out_fmt); | |
59 | - } else { | |
60 | - error_report("%s: error while converting %s: %s", | |
61 | - out_filename, out_fmt, strerror(-ret)); | |
62 | + if (!skipcreate) { | |
63 | + /* Create the new image */ | |
64 | + ret = bdrv_create(drv, out_filename, param); | |
65 | + if (ret < 0) { | |
66 | + if (ret == -ENOTSUP) { | |
67 | + error_report("Formatting not supported for file format '%s'", | |
68 | + out_fmt); | |
69 | + } else if (ret == -EFBIG) { | |
70 | + error_report("The image size is too large for file format '%s'", | |
71 | + out_fmt); | |
72 | + } else { | |
73 | + error_report("%s: error while converting %s: %s", | |
74 | + out_filename, out_fmt, strerror(-ret)); | |
75 | + } | |
76 | + goto out; | |
77 | } | |
78 | - goto out; | |
79 | } | |
80 | ||
81 | flags = BDRV_O_RDWR; |