Instead of ignoring all option values but the last one, multiple -o
options now have the same meaning as having a single option with all
settings in the order of their respective -o options.
Signed-off-by: Kevin Wolf
Reviewed-by: Jeff Cody
Reviewed-by: Eric Blake
---
qemu-img.c | 34 ++
From: Paolo Bonzini
Signed-off-by: Paolo Bonzini
Reviewed-by: Fam Zheng
Signed-off-by: Kevin Wolf
---
block/qcow.c | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/block/qcow.c b/block/qcow.c
index 8d00853..ef8920b 100644
--- a/block/qcow.c
+++ b/block/qcow.c
@
From: Max Reitz
Although it may not look like it, this patch simplifies quorum_open().
qdict_array_split() is now able to return QLists with different objects
than only QDicts, therefore it will now do all the work and
quorum_open() does not have to handle reference strings by itself.
This allow
From: Benoît Canet
Makes a vote to select error if any.
Signed-off-by: Benoit Canet
Reviewed-by: Max Reitz
Signed-off-by: Kevin Wolf
---
block/quorum.c | 28
1 file changed, 28 insertions(+)
diff --git a/block/quorum.c b/block/quorum.c
index 38bc217..840afda 100
Signed-off-by: Kevin Wolf
Reviewed-by: Jeff Cody
Reviewed-by: Eric Blake
---
tests/qemu-iotests/082 | 208 ++
tests/qemu-iotests/082.out | 529 +
tests/qemu-iotests/group | 1 +
3 files changed, 738 insertions(+)
create mode 1
From: Benoît Canet
This patchset enables the core of the quorum mechanism.
The num_children reads are compared to get the majority version and if this
version exists more than threshold times the guest won't see the error at all.
If a block is corrupted or if an error occurs during an IO or if t
The Friday 21 Feb 2014 à 15:09:42 (-0700), Eric Blake wrote :
> On 02/21/2014 02:21 PM, Benoît Canet wrote:
> > From: Benoît Canet
> >
> > This patchset enables the core of the quorum mechanism.
> > The num_children reads are compared to get the majority version and if this
> > version exists mor
From: Max Reitz
Add a test case to test 081 for mixing full option dicts and reference
strings of specifying the quorum child block devices through QMP.
Signed-off-by: Max Reitz
Reviewed-by: Benoit Canet
Signed-off-by: Kevin Wolf
---
tests/qemu-iotests/081 | 51 ++
On 02/21/2014 03:50 PM, Benoît Canet wrote:
> The Friday 21 Feb 2014 à 15:44:06 (-0700), Eric Blake wrote :
>> On 02/21/2014 03:38 PM, Kevin Wolf wrote:
>> +- "ret": The IO return code.
>
> What values is this likely to contain? Is it a finite set, in which
> case it would
From: Paolo Bonzini
Signed-off-by: Paolo Bonzini
Reviewed-by: Fam Zheng
Signed-off-by: Kevin Wolf
---
block/vmdk.c | 41 ++---
1 file changed, 30 insertions(+), 11 deletions(-)
diff --git a/block/vmdk.c b/block/vmdk.c
index 54a1c59..b808108 100644
--- a/bl
From: Benoît Canet
Check that every bs file returns the same length.
Otherwise, return -EIO to disable the quorum and
avoid length discrepancy.
Signed-off-by: Benoit Canet
Reviewed-by: Max Reitz
Signed-off-by: Kevin Wolf
---
block/quorum.c | 26 ++
1 file changed, 26
From: Max Reitz
Test the new functionality of qdict_array_split(), that is, splitting
off single objects.
Signed-off-by: Max Reitz
Reviewed-by: Eric Blake
Signed-off-by: Kevin Wolf
---
tests/check-qdict.c | 22 --
1 file changed, 16 insertions(+), 6 deletions(-)
diff --g
From: Paolo Bonzini
Returning "Wrong medium type" for an image that does not have a valid
header is a bit weird. Improve the error by mentioning what format
was trying to open it.
Signed-off-by: Paolo Bonzini
Reviewed-by: Fam Zheng
Signed-off-by: Kevin Wolf
---
block/bochs.c | 3 ++-
bl
From: Benoît Canet
qemu_iovec_compare() will be used to compare IOs vectors in quorum blkverify
mode. The patch extracts these functions in order to factorize the code.
Signed-off-by: Benoit Canet
Reviewed-by: Max Reitz
Signed-off-by: Kevin Wolf
---
block/blkverify.c | 108 +-
From: Paolo Bonzini
Signed-off-by: Paolo Bonzini
Reviewed-by: Fam Zheng
Signed-off-by: Kevin Wolf
---
block/curl.c | 13 +
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/block/curl.c b/block/curl.c
index bb1fc4a..3494c6d 100644
--- a/block/curl.c
+++ b/block/curl.c
From: Paolo Bonzini
Signed-off-by: Paolo Bonzini
Reviewed-by: Fam Zheng
Signed-off-by: Kevin Wolf
---
block/cow.c | 8 +++-
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/block/cow.c b/block/cow.c
index d0385be..9e4f624 100644
--- a/block/cow.c
+++ b/block/cow.c
@@ -82,7 +8
Hi Waldemar,
I can't say that I've seen anything like that here, although I don't
tend to push my images too much. It does sound like some kind of
deadlock though.
Are these the straces from the qemu-system-sparc64 host process or the
qemu-system-sparc64 guest process? If it's the former, can you
From: Max Reitz
Currently, qdict_array_split() only splits off entries with a key prefix
of "%u.", packing them into a new QDict. This patch makes it support
entries with the plain key "%u" as well, directly putting them into the
new QList without creating a QDict.
If there is both an entry with
From: Benoît Canet
Add code to do num_children reads in parallel and cleanup the structures
afterwards.
Signed-off-by: Benoit Canet
Reviewed-by: Max Reitz
Signed-off-by: Kevin Wolf
---
block/quorum.c | 39 ++-
1 file changed, 38 insertions(+), 1 deletion(-
From: Paolo Bonzini
Signed-off-by: Paolo Bonzini
Reviewed-by: Fam Zheng
Signed-off-by: Kevin Wolf
---
block/iscsi.c | 45 +++--
1 file changed, 23 insertions(+), 22 deletions(-)
diff --git a/block/iscsi.c b/block/iscsi.c
index f8e496f..ac5a5c7 100644
-
From: Paolo Bonzini
Currently, we just try reading a VMDK file as both image and descriptor.
This makes it hard to choose which of the two attempts gave the best error.
We'll decide in advance if the file looks like an image or a descriptor,
and this patch is the first step to that end.
Signed-o
From: Max Reitz
qdict_array_split() should terminate if it encounters both an entry with
a key of "%u" and entries with keys prefixed "%u." for the same index.
This patch adds a test for this case.
Signed-off-by: Max Reitz
Reviewed-by: Eric Blake
Signed-off-by: Kevin Wolf
---
tests/check-qd
From: Paolo Bonzini
Before:
$ ./qemu-io-old
qemu-io-old> open -r -o driver=vvfat,fat-type=24,dir=i386-softmmu
Valid FAT types are only 12, 16 and 32
qemu-io-old: can't open device (null): Could not open image: Invalid
argument
After:
$ ./qemu-io
qemu-io> open -r -o drive
has_help_option() checks if any help option ('help' or '?') occurs
anywhere in an option string, so that things like 'cluster_size=4k,help'
are recognised.
is_valid_option_list() ensures that the option list doesn't have options
with leading commas or trailing unescaped commas.
Signed-off-by: Kev
From: Paolo Bonzini
This prepares for propagating errors from vmdk_open_sparse and
vmdk_open_desc_file up to the caller of vmdk_open.
Signed-off-by: Paolo Bonzini
Reviewed-by: Fam Zheng
Signed-off-by: Kevin Wolf
---
block/vmdk.c | 22 +++---
tests/qemu-iotests/0
From: Paolo Bonzini
Instead of just putting it in debugging output, we can now put the
value in an Error.
Signed-off-by: Paolo Bonzini
Reviewed-by: Fam Zheng
Signed-off-by: Kevin Wolf
---
block/vdi.c | 25 -
1 file changed, 16 insertions(+), 9 deletions(-)
diff --git
Fix some nits before QEMU 2.0 freeze.
Signed-off-by: Benoit Canet
---
qapi-schema.json | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/qapi-schema.json b/qapi-schema.json
index fcb22800..ab5cdde 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -4437,10 +4437,11 @@
Quorum is not compiled by default: make the quorum 081 test aware of this.
Signed-off-by: Benoit Canet
---
tests/qemu-iotests/081 | 3 +++
1 file changed, 3 insertions(+)
diff --git a/tests/qemu-iotests/081 b/tests/qemu-iotests/081
index f053f11..c1078f6 100755
--- a/tests/qemu-iotests/081
+++
Insert quorum QMP events documentation alphabetically.
Also change the "ret" errno value by "error" being an strerror() in the
QUORUM_REPORT_BAD qmp event.
Signed-off-by: Benoit Canet
---
block/quorum.c | 5 ++--
docs/qmp/qmp-events.txt| 72 +++--
Fix qemu-io test to ignore quorum when not compiled in [Kevin]
Fix quorum QMP event [Eric]
Fix QMP documentation [Eric]
Benoît Canet (3):
qmp: Fix BlockdevOptionQuorum.
qmp: Make Quorum error events more palatable.
qemu-io-test: Disable Quorum test when not compiled in.
block/quorum.c
On 02/21/2014 11:11 AM, Max Reitz wrote:
> Currently, qdict_array_split() splits a QDict like
> { "0.a": 42, "1": 23, "2.b": 84 }
> into the QList
> [ { "a": 42 } ]
> with the QDict still being
> { "1": 23, "2.b": 84 }
>
> However, it makes more sense to create the QList
> [ { "a": 42 }, 2
On 02/21/2014 03:11 PM, Kevin Wolf wrote:
> Instead of making the backing file contents visible again after a discard
> request, set the zero flag if possible (i.e. on version >= 3).
>
> Signed-off-by: Kevin Wolf
> Reviewed-by: Eric Blake
> ---
> block/qcow2-cluster.c | 22
Instead of ignoring all option values but the last one, multiple -o
options now have the same meaning as having a single option with all
settings in the order of their respective -o options.
Signed-off-by: Kevin Wolf
Reviewed-by: Jeff Cody
Reviewed-by: Eric Blake
---
qemu-img.c | 17 ++
If you specified multiple -o options for qemu-img create, it would
silently ignore all but the last one. This patch fixes the problem.
Now multiple -o options has the same meaning as having a single option
with all settings in the order of their respective -o options.
Signed-off-by: Kevin Wolf
R
From: Paolo Bonzini
Now that we can return the "right" errors, use the Error** parameter
to pass them back instead of just printing them.
Signed-off-by: Paolo Bonzini
Reviewed-by: Fam Zheng
Signed-off-by: Kevin Wolf
---
block/vmdk.c | 11 ++-
tests/qemu-iotests/059.out
From: Benoît Canet
Create the structure holding the quorum settings and write the minimal block
driver instanciation boilerplate.
Signed-off-by: Benoit Canet
Reviewed-by: Max Reitz
Signed-off-by: Kevin Wolf
---
block/quorum.c | 31 +++
1 file changed, 31 insertion
On 02/21/2014 03:30 PM, Benoît Canet wrote:
>>> +
>>> +- "ret": The IO return code.
>>
>> What values is this likely to contain? Is it a finite set, in which
>> case it would be nice to have a QAPI enum that describes the set of
>> return codes, rather than a raw number?
>
> It's anythi
From: Max Reitz
The fail and success paths of bdrv_file_open() may be further shortened
by reusing code already existent in bdrv_open(). This includes
bdrv_file_open() not taking the reference to options which allows the
removal of QDECREF(options) in that function.
Signed-off-by: Max Reitz
Rev
From: Max Reitz
Allow bdrv_open() to handle references to existing block devices just as
bdrv_file_open() is already capable of.
Signed-off-by: Max Reitz
Signed-off-by: Kevin Wolf
---
block.c | 44 +---
block/qcow2.c | 4 ++--
blo
From: Max Reitz
Change bdrv_file_open() to take a simple pointer to an already existing
BDS instead of an indirect one. The BDS will be created in bdrv_open()
if necessary.
Signed-off-by: Max Reitz
Reviewed-by: Benoit Canet
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin Wolf
---
block.c | 24
From: Paolo Bonzini
Currently, "gluster:///volname/img" and (using file. options)
"file.driver=gluster,file.filename=foo" will segfault. Also,
"//host/volname/img" will be rejected, but it is a valid URL
that should be accepted just fine with "file.driver=gluster".
Accept all of these, by inferr
On 02/21/2014 04:58 PM, Benoît Canet wrote:
> Insert quorum QMP events documentation alphabetically.
>
> Also change the "ret" errno value by "error" being an strerror() in the
> QUORUM_REPORT_BAD qmp event.
>
> Signed-off-by: Benoit Canet
> ---
> block/quorum.c | 5 ++--
> docs/qm
On 02/21/2014 04:58 PM, Benoît Canet wrote:
> Fix some nits before QEMU 2.0 freeze.
>
> Signed-off-by: Benoit Canet
> ---
> qapi-schema.json | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
Reviewed-by: Eric Blake
>
> diff --git a/qapi-schema.json b/qapi-schema.json
> index fcb22
On 02/21/2014 06:27 AM, Alex Bligh wrote:
>
> On 21 Feb 2014, at 04:34, Matt Lupfer wrote:
>
>>
>> This doesn't appear to be a solution, because with the timer rewrite, QEMU
>> moves its periodic (1 ms) qemu_notify_event() call to break out of
>> the main event loop from a SIGALRM handler to the r
The GIC_SET_LEVEL macro unfortunately overwrote the entire level
bitmask instead of just or'ing on the necessary bits, causing active
level PPIs on a core to clear PPIs on other cores.
I introduced this bug, sorry about that.
Reported-by: Rob Herring
Signed-off-by: Christoffer Dall
---
hw/intc
Fix some nits before QEMU 2.0 freeze.
Signed-off-by: Benoit Canet
Reviewed-by: Eric Blake
---
qapi-schema.json | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/qapi-schema.json b/qapi-schema.json
index fcb22800..ab5cdde 100644
--- a/qapi-schema.json
+++ b/qapi-schema.jso
in v2:
make error optional and return strerror(-ret) [Eric]
better documentation of the error string [Eric]
apply Eric reviewed by
Benoît Canet (3):
qmp: Fix BlockdevOptionQuorum.
qmp: Make Quorum error events more palatable.
qemu-io-test: Disable Quorum test when not compiled i
Quorum is not compiled by default: make the quorum 081 test aware of this.
Signed-off-by: Benoit Canet
---
tests/qemu-iotests/081 | 3 +++
1 file changed, 3 insertions(+)
diff --git a/tests/qemu-iotests/081 b/tests/qemu-iotests/081
index f053f11..c1078f6 100755
--- a/tests/qemu-iotests/081
+++
Insert quorum QMP events documentation alphabetically.
Also change the "ret" errno value by an optional "error" being an strerror(-ret)
in the QUORUM_REPORT_BAD qmp event.
Signed-off-by: Benoit Canet
---
block/quorum.c | 9 --
docs/qmp/qmp-events.txt| 75 +++
On 02/21/2014 06:20 PM, Benoît Canet wrote:
> Insert quorum QMP events documentation alphabetically.
>
> Also change the "ret" errno value by an optional "error" being an
> strerror(-ret)
> in the QUORUM_REPORT_BAD qmp event.
>
> Signed-off-by: Benoit Canet
> ---
> assert(node_name);
> -
The Friday 21 Feb 2014 à 18:42:01 (-0700), Eric Blake wrote :
> On 02/21/2014 06:20 PM, Benoît Canet wrote:
> > Insert quorum QMP events documentation alphabetically.
> >
> > Also change the "ret" errno value by an optional "error" being an
> > strerror(-ret)
> > in the QUORUM_REPORT_BAD qmp event
On 02/21/2014 07:09 PM, Benoît Canet wrote:
>>> +if (ret < 0) {
>>> +QDict *dict = qobject_to_qdict(data);
>>> +qdict_put(dict, "error", qstring_from_str(strerror(-ret)));
>>> +}
>>
>> This puts it in dict, but never modifies data...
>
> qobject_to_qdict is an enhanced cas
On 02/22/2014 12:31 AM, Alexey Kardashevskiy wrote:
> On 02/11/2014 06:20 PM, Alexey Kardashevskiy wrote:
>> On 02/02/2014 01:45 AM, Alexey Kardashevskiy wrote:
>>> This is some cleanup. Please, comment. Thanks!
>>
>> Ping?
>
> pingping?
Sorry for bothering again. This is quite simple patchset,
On Sat, 2014-02-22 at 13:20 +1100, Alexey Kardashevskiy wrote:
> Sorry for bothering again. This is quite simple patchset, it does not touch
> a lot and just a small rework. This is v7, v1 was 31/10/2013 (~4 months), I
> sent "ping" to v5 5 times (took 2 months to get any attention), there was
> n
A HPET timer can be started when HPET is not yet
enabled. This will not generate an interrupt
to the guest, but causes problems when HPET is later
enabled.
A timer that is created and expires at least once before
HPET is enabled will have an initialized comparator based
on a hpet_offset of 0 (unin
On Sat, 02/22 02:20, Benoît Canet wrote:
> Quorum is not compiled by default: make the quorum 081 test aware of this.
>
> Signed-off-by: Benoit Canet
> ---
> tests/qemu-iotests/081 | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/tests/qemu-iotests/081 b/tests/qemu-iotests/081
> inde
301 - 356 of 356 matches
Mail list logo