]> git.proxmox.com Git - pve-qemu-kvm.git/blob - debian/patches/qemu-img-convert-skipcreate-option.patch
update to qemu 1.3 rc1
[pve-qemu-kvm.git] / debian / patches / qemu-img-convert-skipcreate-option.patch
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
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 @@
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;
25 @@ -682,8 +682,9 @@
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 }
36 @@ -704,6 +705,9 @@
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!");
46 @@ -864,20 +868,22 @@
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;