1
The following changes since commit 3f0602927b120a480b35dcf58cf6f95435b3ae91:
1
The following changes since commit b0fbe46ad82982b289a44ee2495b59b0bad8a842:
2
2
3
Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20170613' into staging (2017-06-13 15:49:07 +0100)
3
Update version for v2.11.0-rc0 release (2017-11-07 16:05:28 +0000)
4
4
5
are available in the git repository at:
5
are available in the git repository at:
6
6
7
git://github.com/codyprime/qemu-kvm-jtc.git tags/block-pull-request
7
git://github.com/stefanha/qemu.git tags/block-pull-request
8
8
9
for you to fetch changes up to 5c3ad1a6a8fa041c57403dbe1fc5927eec0be66b:
9
for you to fetch changes up to 161d53bbed2be4c4336c098185de3afb13cc6bd5:
10
10
11
block/iscsi: enable filename option and parsing (2017-06-14 17:39:46 -0400)
11
util/async: use atomic_mb_set in qemu_bh_cancel (2017-11-08 09:24:41 +0000)
12
12
13
----------------------------------------------------------------
13
----------------------------------------------------------------
14
Block patches
14
15
----------------------------------------------------------------
15
----------------------------------------------------------------
16
16
17
Jeff Cody (2):
17
Sergio Lopez (1):
18
block/rbd: enable filename option and parsing
18
util/async: use atomic_mb_set in qemu_bh_cancel
19
block/iscsi: enable filename option and parsing
20
19
21
block/iscsi.c | 22 +++++++++++++++++++++-
20
Stefan Hajnoczi (1):
22
block/rbd.c | 22 +++++++++++++++++++++-
21
tests-aio-multithread: fix /aio/multi/schedule race condition
23
2 files changed, 42 insertions(+), 2 deletions(-)
22
23
tests/test-aio-multithread.c | 5 ++---
24
util/async.c | 2 +-
25
2 files changed, 3 insertions(+), 4 deletions(-)
24
26
25
--
27
--
26
2.9.3
28
2.13.6
27
29
28
30
diff view generated by jsdifflib
Deleted patch
1
When enabling option parsing and blockdev-add for rbd, we removed the
2
'filename' option. Unfortunately, this was a bit optimistic, as
3
previous versions of QEMU allowed the use of the option in backing
4
filenames via json. This means that without parsing this option, we
5
cannot open existing images that used to work fine.
6
1
7
See bug: https://bugzilla.redhat.com/show_bug.cgi?id=1457088
8
9
Tested-by: Richard W.M. Jones <rjones@redhat.com>
10
Signed-off-by: Jeff Cody <jcody@redhat.com>
11
Message-id: 937dc9fde348d13311eb8e23444df3bc3190b612.1497444637.git.jcody@redhat.com
12
Signed-off-by: Jeff Cody <jcody@redhat.com>
13
---
14
block/rbd.c | 22 +++++++++++++++++++++-
15
1 file changed, 21 insertions(+), 1 deletion(-)
16
17
diff --git a/block/rbd.c b/block/rbd.c
18
index XXXXXXX..XXXXXXX 100644
19
--- a/block/rbd.c
20
+++ b/block/rbd.c
21
@@ -XXX,XX +XXX,XX @@ static QemuOptsList runtime_opts = {
22
.type = QEMU_OPT_STRING,
23
.help = "Legacy rados key/value option parameters",
24
},
25
+ {
26
+ .name = "filename",
27
+ .type = QEMU_OPT_STRING,
28
+ },
29
{ /* end of list */ }
30
},
31
};
32
@@ -XXX,XX +XXX,XX @@ static int qemu_rbd_open(BlockDriverState *bs, QDict *options, int flags,
33
{
34
BDRVRBDState *s = bs->opaque;
35
const char *pool, *snap, *conf, *user, *image_name, *keypairs;
36
- const char *secretid;
37
+ const char *secretid, *filename;
38
QemuOpts *opts;
39
Error *local_err = NULL;
40
char *mon_host = NULL;
41
int r;
42
43
+ /* If we are given a filename, parse the filename, with precedence given to
44
+ * filename encoded options */
45
+ filename = qdict_get_try_str(options, "filename");
46
+ if (filename) {
47
+ error_report("Warning: 'filename' option specified. "
48
+ "This is an unsupported option, and may be deprecated "
49
+ "in the future");
50
+ qemu_rbd_parse_filename(filename, options, &local_err);
51
+ if (local_err) {
52
+ r = -EINVAL;
53
+ error_propagate(errp, local_err);
54
+ goto exit;
55
+ }
56
+ }
57
+
58
opts = qemu_opts_create(&runtime_opts, NULL, 0, &error_abort);
59
qemu_opts_absorb_qdict(opts, options, &local_err);
60
if (local_err) {
61
@@ -XXX,XX +XXX,XX @@ failed_shutdown:
62
failed_opts:
63
qemu_opts_del(opts);
64
g_free(mon_host);
65
+exit:
66
return r;
67
}
68
69
--
70
2.9.3
71
72
diff view generated by jsdifflib
Deleted patch
1
When enabling option parsing and blockdev-add for iscsi, we removed the
2
'filename' option. Unfortunately, this was a bit optimistic, as
3
previous versions of QEMU allowed the use of the option in backing
4
filenames via json. This means that without parsing this option, we
5
cannot open existing images that used to work fine.
6
1
7
See bug: https://bugzilla.redhat.com/show_bug.cgi?id=1457088
8
9
Tested-by: Richard W.M. Jones <rjones@redhat.com>
10
Signed-off-by: Jeff Cody <jcody@redhat.com>
11
Message-id: 0789ab6c32814ab4b6896707d378804bd4424c65.1497444637.git.jcody@redhat.com
12
Signed-off-by: Jeff Cody <jcody@redhat.com>
13
---
14
block/iscsi.c | 22 +++++++++++++++++++++-
15
1 file changed, 21 insertions(+), 1 deletion(-)
16
17
diff --git a/block/iscsi.c b/block/iscsi.c
18
index XXXXXXX..XXXXXXX 100644
19
--- a/block/iscsi.c
20
+++ b/block/iscsi.c
21
@@ -XXX,XX +XXX,XX @@ static QemuOptsList runtime_opts = {
22
.name = "timeout",
23
.type = QEMU_OPT_NUMBER,
24
},
25
+ {
26
+ .name = "filename",
27
+ .type = QEMU_OPT_STRING,
28
+ },
29
{ /* end of list */ }
30
},
31
};
32
@@ -XXX,XX +XXX,XX @@ static int iscsi_open(BlockDriverState *bs, QDict *options, int flags,
33
char *initiator_name = NULL;
34
QemuOpts *opts;
35
Error *local_err = NULL;
36
- const char *transport_name, *portal, *target;
37
+ const char *transport_name, *portal, *target, *filename;
38
#if LIBISCSI_API_VERSION >= (20160603)
39
enum iscsi_transport_type transport;
40
#endif
41
int i, ret = 0, timeout = 0, lun;
42
43
+ /* If we are given a filename, parse the filename, with precedence given to
44
+ * filename encoded options */
45
+ filename = qdict_get_try_str(options, "filename");
46
+ if (filename) {
47
+ error_report("Warning: 'filename' option specified. "
48
+ "This is an unsupported option, and may be deprecated "
49
+ "in the future");
50
+ iscsi_parse_filename(filename, options, &local_err);
51
+ if (local_err) {
52
+ ret = -EINVAL;
53
+ error_propagate(errp, local_err);
54
+ goto exit;
55
+ }
56
+ }
57
+
58
opts = qemu_opts_create(&runtime_opts, NULL, 0, &error_abort);
59
qemu_opts_absorb_qdict(opts, options, &local_err);
60
if (local_err) {
61
@@ -XXX,XX +XXX,XX @@ out:
62
}
63
memset(iscsilun, 0, sizeof(IscsiLun));
64
}
65
+exit:
66
return ret;
67
}
68
69
--
70
2.9.3
71
72
diff view generated by jsdifflib