that the PF driver restore the PF config space after the reset will /sys
files used by QEMU disappear and reappear messing the QEMU VFIO passthrough or
will it goes smoothly ?
Best regards
Benoît Canet
Thanks a lot for the answer.
Best regards
Benoît
Le Sunday 02 Jun 2013 à 08:11:42 (-0600), Alex Williamson a écrit :
On Sat, 2013-06-01 at 14:13 +0200, Benoît Canet wrote:
Hello,
I may have soon the PF driver of an SR-IOV card to code and make work with
QEMU/KVM so I have
that it should do the unmap/block would take more
than 100ns.
Also blocking the IO access in QEMU under the BQL would freeze QEMU.
Do you have and idea on how to write this required map and block/unmap feature ?
Best regards
Benoît Canet
.
will it goes smoothly ?
it goes smoothly today :-/
Happy to read that thanks for the answer.
Best regards
Benoît Canet
.
Then the restore state function of the kernel reset code would bring the SR-IOV
PF configuration back.
The hardware also have a privately owned SR-IOV related configuration in the PF
configuration space. This configuration is used to configure the VFs resources.
(memory)
Best regards
Benoît Canet
a callback be added so PF driver can restore this state ?
Best regards
Benoît Canet
.
This could confuse the guest VF driver so the unmap and block or a same goal
achieving technique is required.
I hope these informations makes the area of the problem to solve narrower.
Best regards
Benoît Canet
Le Monday 03 Jun 2013 à 12:57:45 (-0600), Alex Williamson a écrit :
On Mon, 2013
caps are re-instated, as you showed above...
I think this is a device specific structure.
It would be annoying only in case of a PF FLR initiated via /sys or something
external to the PF driver because the PF driver could restore this area after it
initiate an FLR.
Best regards
Benoît Canet
This field is used by blkverify to disable external snapshots creation.
I will also be used by block filters like quorum to disable external snapshots
creation.
Signed-off-by: Benoit Canet ben...@irqsave.net
---
block.c | 14 ++
block/blkverify.c | 2 ++
Hello,
Here is the new version of the snapshot forbidding patch.
v3:
functions return an enum [Jeff]
rename forbiding function [Kevin]
v2:
Use NULL fields to avoid having to fill the new field in every BlockDriver
[Jeff]
Rename the field [Kevin]
Benoît Canet (1):
block
Le Friday 27 Sep 2013 à 12:03:07 (+0200), Kevin Wolf a écrit :
Am 26.09.2013 um 18:29 hat Benoît Canet geschrieben:
Le Friday 08 Feb 2013 à 11:38:38 (+0100), Kevin Wolf a écrit :
Am 28.01.2013 18:07, schrieb Benoît Canet:
Signed-off-by: Benoit Canet ben...@irqsave.net
---
block
Le Friday 08 Feb 2013 à 13:07:03 (+0100), Kevin Wolf a écrit :
Am 28.01.2013 18:07, schrieb Benoît Canet:
Use gnutls's SHA-256 to compare versions.
Signed-off-by: Benoit Canet ben...@irqsave.net
---
block/quorum.c | 303
Le Tuesday 01 Oct 2013 à 15:20:06 (+0200), Kevin Wolf a écrit :
For examples see the changes to qmp-commands.hx.
Signed-off-by: Kevin Wolf kw...@redhat.com
---
blockdev.c | 57 ++
qapi-schema.json | 236
+++
Le Tuesday 01 Oct 2013 à 15:20:10 (+0200), Kevin Wolf a écrit :
It's always IF_NONE for blockdev-add.
Signed-off-by: Kevin Wolf kw...@redhat.com
---
blockdev.c | 40 ++--
1 file changed, 22 insertions(+), 18 deletions(-)
diff --git a/blockdev.c
Le Monday 30 Sep 2013 à 13:36:55 (+0200), Benoît Canet a écrit :
This field is used by blkverify to disable external snapshots creation.
I will also be used by block filters like quorum to disable external snapshots
creation.
Signed-off-by: Benoit Canet ben...@irqsave.net
---
block.c
BlockDriver
[Jeff]
Rename the field [Kevin]
Benoît Canet (1):
block: Add BlockDriver.bdrv_check_ext_snapshot.
block.c | 17 +
block/blkverify.c | 2 ++
blockdev.c| 5 +
include/block/block.h | 14 ++
include/block
This field is used by blkverify to disable external snapshots creation.
I will also be used by block filters like quorum to disable external snapshots
creation.
Signed-off-by: Benoit Canet ben...@irqsave.net
---
block.c | 17 +
block/blkverify.c | 2 ++
latests comments from kevin
Benoît Canet (11):
quorum: Create quorum.c, add QuorumSingleAIOCB and QuorumAIOCB.
quorum: Create BDRVQuorumState and BlkDriver and do init.
quorum: Add quorum_aio_writev and its dependencies.
blkverify: Extract qemu_iovec_clone() and qemu_iovec_compare() from
@@
+/*
+ * Quorum Block filter
+ *
+ * Copyright (C) 2012-2013 Nodalink, SARL.
+ *
+ * Author:
+ * Benoît Canet benoit.ca...@irqsave.net
+ *
+ * Based on the design and code of blkverify.c (Copyright (C) 2010 IBM, Corp)
+ * and blkmirror.c (Copyright (C) 2011 Red Hat, Inc).
+ *
+ * This work
Makes a vote to select error if any.
Signed-off-by: Benoit Canet ben...@irqsave.net
---
block/quorum.c | 34 ++
1 file changed, 34 insertions(+)
diff --git a/block/quorum.c b/block/quorum.c
index 084d030..0a28ab1 100644
--- a/block/quorum.c
+++ b/block/quorum.c
Signed-off-by: Benoit Canet ben...@irqsave.net
---
block/blkverify.c | 108 +-
include/qemu-common.h | 2 +
util/iov.c| 103 +++
3 files changed, 107 insertions(+), 106 deletions(-)
diff
Signed-off-by: Benoit Canet ben...@irqsave.net
---
block/quorum.c | 25 +
1 file changed, 25 insertions(+)
diff --git a/block/quorum.c b/block/quorum.c
index 76a1fbb..9557e61 100644
--- a/block/quorum.c
+++ b/block/quorum.c
@@ -15,6 +15,16 @@
#include block/block_int.h
Check that every bs file return the same length.
If not return -EIO to disable the quorum and
avoid length discrepancy.
Signed-off-by: Benoit Canet ben...@irqsave.net
---
block/quorum.c | 26 ++
1 file changed, 26 insertions(+)
diff --git a/block/quorum.c
Signed-off-by: Benoit Canet ben...@irqsave.net
---
block/quorum.c | 40 +++-
1 file changed, 39 insertions(+), 1 deletion(-)
diff --git a/block/quorum.c b/block/quorum.c
index b49e3c6..f0fc0e9 100644
--- a/block/quorum.c
+++ b/block/quorum.c
@@ -101,14 +101,23
Signed-off-by: Benoit Canet ben...@irqsave.net
---
block/quorum.c | 11 +++
1 file changed, 11 insertions(+)
diff --git a/block/quorum.c b/block/quorum.c
index b3649a4..223ad22 100644
--- a/block/quorum.c
+++ b/block/quorum.c
@@ -565,6 +565,16 @@ static int64_t
Use gnutls's SHA-256 to compare versions.
Signed-off-by: Benoit Canet ben...@irqsave.net
---
block/Makefile.objs | 2 +-
block/quorum.c| 321 +-
configure | 36 ++
include/monitor/monitor.h | 2 +
monitor.c
Signed-off-by: Benoit Canet ben...@irqsave.net
---
block/quorum.c | 67 ++
1 file changed, 67 insertions(+)
diff --git a/block/quorum.c b/block/quorum.c
index 223ad22..084d030 100644
--- a/block/quorum.c
+++ b/block/quorum.c
@@ -171,6
Example of command line:
-drive if=virtio,file.driver=quorum,\
file.children.0.file.filename=1.qcow2,\
file.children.1.file.filename=2.qcow2,\
file.children.2.file.filename=3.qcow2,\
file.vote_threshold=3
file.blkverify=on with file.vote_threshold=2 and two file can be passed to
emulated
Signed-off-by: Benoit Canet ben...@irqsave.net
---
block/quorum.c | 123 +
1 file changed, 123 insertions(+)
diff --git a/block/quorum.c b/block/quorum.c
index 9557e61..b49e3c6 100644
--- a/block/quorum.c
+++ b/block/quorum.c
@@ -64,11
Le Friday 04 Oct 2013 à 16:31:56 (+0200), Max Reitz a écrit :
On 2013-10-02 14:39, Benoît Canet wrote:
It must be applied on top of block: Add
BlockDriver.bdrv_check_ext_snapshot.
This patchset create a block driver implementing a quorum using total qemu
disk
images. Writes are mirrored
Hello,
Le Tuesday 15 Oct 2013 à 18:07:16 (+0800), mike a écrit :
On 10/15/2013 04:58 PM, Kevin Wolf wrote:
Am 15.10.2013 um 05:38 hat mike geschrieben:
On 10/14/2013 10:36 PM, Markus Armbruster wrote:
Mike Qiu qiud...@linux.vnet.ibm.com writes:
Without this, output of 'info block'
Le Friday 04 Oct 2013 à 16:35:18 (+0200), Max Reitz a écrit :
On 2013-10-02 14:39, Benoît Canet wrote:
Signed-off-by: Benoit Canet ben...@irqsave.net
---
block/quorum.c | 123
+
1 file changed, 123 insertions(+)
diff --git
Le Friday 04 Oct 2013 à 16:48:12 (+0200), Max Reitz a écrit :
On 2013-10-02 14:39, Benoît Canet wrote:
Use gnutls's SHA-256 to compare versions.
Wouldn't CRC32 suffice? (I don't really oppose using SHA, but taking
in gnutls as a dependency just for comparing several memory areas
seems a bit
Le Friday 04 Oct 2013 à 16:48:12 (+0200), Max Reitz a écrit :
On 2013-10-02 14:39, Benoît Canet wrote:
Use gnutls's SHA-256 to compare versions.
Wouldn't CRC32 suffice? (I don't really oppose using SHA, but taking
in gnutls as a dependency just for comparing several memory areas
seems a bit
Le Saturday 26 Oct 2013 à 15:44:43 (+0200), Max Reitz a écrit :
bdrv_open_backing_file() tries to copy the backing file name using
pstrcpy directly after calling bdrv_open() to open the backing file
without checking whether that was actually successful. If it was not,
ps-backing_hd-file will
Le Thursday 24 Oct 2013 à 20:35:06 (+0200), Max Reitz a écrit :
Opening the qcow2 image with BDRV_O_NO_FLUSH prevents any flushes during
the image creation. This means that the image has not yet been flushed
to disk when qemu-img create exits. This flush is delayed until the next
operation on
Le Friday 25 Oct 2013 à 02:15:07 (+0200), Thibaut LAURENT a écrit :
Since commit 0ebd24e0a203cf2852c310b59fbe050190dc6c8c,
bdrv_open_common will throw an error when trying to open a file
read-only with the BDRV_O_COPY_ON_READ flag set.
Although BDRV_O_RDWR is unset for the backing files,
Hi list,
After a discussion on irc we have two potential solution in order to introduce
a new bs-node_name member in order to be able to manipulate the graph from the
monitors.
The first one is to make the QMP device parameter of the block commands optional
and add the node-name parameter as a
Le Friday 04 Oct 2013 à 16:31:56 (+0200), Max Reitz a écrit :
On 2013-10-02 14:39, Benoît Canet wrote:
It must be applied on top of block: Add
BlockDriver.bdrv_check_ext_snapshot.
This patchset create a block driver implementing a quorum using total qemu
disk
images. Writes are mirrored
Le Tuesday 29 Oct 2013 à 18:56:34 (+0100), Max Reitz a écrit :
Am 29.10.2013 18:55, schrieb Max Reitz:
Am 29.10.2013 08:59, schrieb Benoît Canet:
Le Friday 04 Oct 2013 à 16:31:56 (+0200), Max Reitz a écrit :
On 2013-10-02 14:39, Benoît Canet wrote:
It must be applied on top of block: Add
L Tuesday 29 Oct 2013 à 18:21:57 (+0100), Max Reitz a écrit :
Am 28.10.2013 13:21, schrieb Benoît Canet:
Le Friday 04 Oct 2013 à 16:35:18 (+0200), Max Reitz a écrit :
On 2013-10-02 14:39, Benoît Canet wrote:
Signed-off-by: Benoit Canet ben...@irqsave.net
---
block/quorum.c | 123
Le Tuesday 29 Oct 2013 à 15:44:31 (+0100), Stefan Hajnoczi a écrit :
Signed-off-by: Stefan Hajnoczi stefa...@redhat.com
---
hw/usb/dev-network.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/hw/usb/dev-network.c b/hw/usb/dev-network.c
index 660d774..4c532b7 100644
---
Le Tuesday 29 Oct 2013 à 16:17:34 (+0800), Liu Yuan a écrit :
We can actually use BDRVSheepdogState *s to pass most of the parameters.
Cc: Kevin Wolf kw...@redhat.com
Cc: Stefan Hajnoczi stefa...@redhat.com
Signed-off-by: Liu Yuan namei.u...@gmail.com
---
block/sheepdog.c | 37
Le Tuesday 29 Oct 2013 à 16:25:52 (+0800), Liu Yuan a écrit :
Sheepdog support two kinds of redundancy, full replication and erasure coding.
# create a fully replicated vdi with x copies
-o redundancy=x (1 = x = SD_MAX_COPIES)
# create a erasure coded vdi with x data strips and y parity
Le Tuesday 29 Oct 2013 à 16:25:51 (+0800), Liu Yuan a écrit :
We can actually use BDRVSheepdogState *s to pass most of the parameters.
Cc: Kevin Wolf kw...@redhat.com
Cc: Stefan Hajnoczi stefa...@redhat.com
Signed-off-by: Liu Yuan namei.u...@gmail.com
---
block/sheepdog.c | 37
+They consist of transactions, which in turn contain operations that
+are effectively executed atomically. A qcow2 image can have a main image
+journal that deals with cluster management operations, and additional
specific
+journals can be used by other features like data deduplication.
I'm not sure if multiple journals will work in practice. Doesn't this
re-introduce the need to order update steps and flush between them?
This is a question for Benoît, who made this requirement. I asked him
the same a while ago and apparently his explanation made some sense to
me, or I
Propagate operations like snapshot down the tree. block.c is designed
for bs-file/bs-backing_hd kind of BlockDrivers, perhaps it needs to
become a bit more generic to support other types of BlockDrivers
properly.
Shouldn't bs-backing_hd become bs-children[0] and bs-file stay the same ?
Best
Then you get very quickly alternating sequences of L2 depends on
refcount update (for allocation) and refcount update depends on L2
update (for freeing), which means that Qcow2Cache starts flushing all
the time without accumulating many requests. These are cases that would
benefit as well
Le Thursday 05 Sep 2013 à 11:24:40 (+0200), Stefan Hajnoczi a écrit :
On Wed, Sep 04, 2013 at 11:55:23AM +0200, Benoît Canet wrote:
I'm not sure if multiple journals will work in practice. Doesn't this
re-introduce the need to order update steps and flush between them
Le Thursday 05 Sep 2013 à 18:18:45 (+0800), Fam Zheng a écrit :
On Thu, 09/05 12:01, Stefan Hajnoczi wrote:
On Wed, Sep 04, 2013 at 08:15:36PM +0200, Benoît Canet wrote:
Propagate operations like snapshot down the tree. block.c is designed
for bs-file/bs-backing_hd kind of BlockDrivers
Le Friday 06 Sep 2013 à 11:55:38 (+0200), Kevin Wolf a écrit :
Am 06.09.2013 um 11:18 hat Fam Zheng geschrieben:
On Fri, 09/06 10:45, Kevin Wolf wrote:
Am 06.09.2013 um 09:56 hat Fam Zheng geschrieben:
Since BlockDriver.bdrv_snapshot_create() is an optional operation,
blockdev.c
Kevin what do you think of this ?
I could strip down the dedupe journal code to specialize it.
If you think it turns out easier than using the journalling
infrastructure that we're going to implement anyway, then why not.
This question need to be though.
The good thing about the current
Le Monday 16 Sep 2013 à 15:20:40 (+0800), Fam Zheng a écrit :
Signed-off-by: Fam Zheng f...@redhat.com
---
tests/.gitignore | 1 +
1 file changed, 1 insertion(+)
diff --git a/tests/.gitignore b/tests/.gitignore
index d11cc22..ae5280e 100644
--- a/tests/.gitignore
+++ b/tests/.gitignore
Le Monday 16 Sep 2013 à 15:41:45 (+0800), Fam Zheng a écrit :
On Sun, 09/15 20:10, Benoît Canet wrote:
Le Friday 06 Sep 2013 à 11:55:38 (+0200), Kevin Wolf a écrit :
Am 06.09.2013 um 11:18 hat Fam Zheng geschrieben:
On Fri, 09/06 10:45, Kevin Wolf wrote:
Am 06.09.2013 um 09:56 hat
Le Monday 16 Sep 2013 à 15:41:45 (+0800), Fam Zheng a écrit :
On Sun, 09/15 20:10, Benoît Canet wrote:
Le Friday 06 Sep 2013 à 11:55:38 (+0200), Kevin Wolf a écrit :
Am 06.09.2013 um 11:18 hat Fam Zheng geschrieben:
On Fri, 09/06 10:45, Kevin Wolf wrote:
Am 06.09.2013 um 09:56 hat
Hello,
I know a cloud provider worried about the fact that the /proc/cpuinfo of his
guests give a bogus frequency to his customer.
QEMU and the guests kernel currently have no way to reflect the host frequency
changes to the guests.
The customer compute intensive application then read this
Le Monday 16 Sep 2013 à 09:39:10 (-0500), Alexander Graf a écrit :
Am 16.09.2013 um 07:15 schrieb Benoît Canet benoit.ca...@irqsave.net:
Hello,
I know a cloud provider worried about the fact that the /proc/cpuinfo of his
guests give a bogus frequency to his customer.
QEMU
Le Monday 16 Sep 2013 à 18:32:39 (+0300), Gleb Natapov a écrit :
On Mon, Sep 16, 2013 at 05:05:45PM +0200, Benoît Canet wrote:
Le Monday 16 Sep 2013 à 09:39:10 (-0500), Alexander Graf a écrit :
Am 16.09.2013 um 07:15 schrieb Benoît Canet benoit.ca...@irqsave.net:
Hello
Le Monday 16 Sep 2013 à 18:58:40 (+0300), Gleb Natapov a écrit :
On Mon, Sep 16, 2013 at 05:46:04PM +0200, Benoît Canet wrote:
Le Monday 16 Sep 2013 à 18:32:39 (+0300), Gleb Natapov a écrit :
On Mon, Sep 16, 2013 at 05:05:45PM +0200, Benoît Canet wrote:
Le Monday 16 Sep 2013 à 09:39:10
Le Tuesday 17 Sep 2013 à 14:44:13 (+0200), Stefan Hajnoczi a écrit :
Hi Benoit,
Kevin and I had a chance to chat face-to-face and we discussed what
concrete changes are necessary to merge quorum (without solving all the
other block layers problems at once).
I think quorum could be merged
Le Tuesday 17 Sep 2013 à 14:44:13 (+0200), Stefan Hajnoczi a écrit :
Hi Benoit,
Kevin and I had a chance to chat face-to-face and we discussed what
concrete changes are necessary to merge quorum (without solving all the
other block layers problems at once).
I think quorum could be merged
Le Thursday 19 Sep 2013 à 10:57:50 (+0200), Kevin Wolf a écrit :
Am 19.09.2013 um 10:26 hat Stefan Hajnoczi geschrieben:
On Wed, Sep 18, 2013 at 05:05:27PM +0200, Benoît Canet wrote:
Le Tuesday 17 Sep 2013 à 14:44:13 (+0200), Stefan Hajnoczi a écrit :
Hi Benoit,
Kevin and I had
Le Thursday 19 Sep 2013 à 15:21:46 (+0200), Kevin Wolf a écrit :
Am 19.09.2013 um 14:55 hat Benoît Canet geschrieben:
Le Thursday 19 Sep 2013 à 10:57:50 (+0200), Kevin Wolf a écrit :
Am 19.09.2013 um 10:26 hat Stefan Hajnoczi geschrieben:
On Wed, Sep 18, 2013 at 05:05:27PM +0200, Benoît
Le Monday 02 Sep 2013 à 13:19:16 (-0300), Eduardo Habkost a écrit :
On Mon, Sep 02, 2013 at 05:06:37PM +0200, Benoît Canet wrote:
Some users running cpu intensive tasks checking the cache CPUID leaves at
startup and making decisions based on the result reported that the guest
Le Thursday 19 Sep 2013 à 16:23:54 (+0200), Kevin Wolf a écrit :
Am 19.09.2013 um 15:38 hat Benoît Canet geschrieben:
Le Thursday 19 Sep 2013 à 15:21:46 (+0200), Kevin Wolf a écrit :
Am 19.09.2013 um 14:55 hat Benoît Canet geschrieben:
Le Thursday 19 Sep 2013 à 10:57:50 (+0200), Kevin
Le Friday 20 Sep 2013 à 13:54:17 (+0200), Kevin Wolf a écrit :
For examples see the changes to qmp-commands.hx.
Signed-off-by: Kevin Wolf kw...@redhat.com
---
blockdev.c | 57
qapi-schema.json | 270
+++
Le Friday 20 Sep 2013 à 13:54:19 (+0200), Kevin Wolf a écrit :
Working on a QDict instead of a QemuOpts that accepts anything is more
in line with bdrv_open(). A QDict is what qmp_blockdev_add() already has
anyway, so this saves additional conversions. And last, but not least,
it allows later
Le Friday 20 Sep 2013 à 13:54:20 (+0200), Kevin Wolf a écrit :
This moves as much as possible of the processing of the 'media' option
to drive_init so that it can only be accessed using legacy functions,
but never with anything blockdev-add related.
Signed-off-by: Kevin Wolf kw...@redhat.com
Le Friday 20 Sep 2013 à 13:54:21 (+0200), Kevin Wolf a écrit :
It's always IF_NONE for blockdev-add.
Signed-off-by: Kevin Wolf kw...@redhat.com
---
blockdev.c | 40 ++--
1 file changed, 22 insertions(+), 18 deletions(-)
diff --git a/blockdev.c
Le Friday 20 Sep 2013 à 13:54:23 (+0200), Kevin Wolf a écrit :
It's already ignored and only prints a deprecation message. No use in
making it available in new interfaces.
Signed-off-by: Kevin Wolf kw...@redhat.com
---
blockdev.c | 21 +++--
1 file changed, 11
Le Friday 20 Sep 2013 à 13:54:22 (+0200), Kevin Wolf a écrit :
This moves all of the geometry options (cyls/heads/secs/trans) to
drive_init so that they can only be accessed using legacy functions, but
never with anything blockdev-add related.
Signed-off-by: Kevin Wolf kw...@redhat.com
---
Some drivers will have driver specifics options but no filename.
This new bool allow the block layer to treat them correctly.
The first driver of this type will be the quorum driver.
Signed-off-by: Benoit Canet ben...@irqsave.net
---
block.c | 6 --
block/bochs.c
Le Friday 20 Sep 2013 à 20:34:47 (+0200), Damien Millescamps a écrit :
This patch permits to share memory areas that do not specifically belong to
/dev/shm. In such case, the file must be already present when launching qemu.
A new parameter 'file' has been added to specify the file to use.
A
since v1:
simplify assertion [Kevin]
add .bdrv_needs_filename only to driver to having .bdrv_parse_filename nor
.bdrv_open [Kevin]
Tested that raw, qed and ssh protocols works fine.
Benoît Canet (1):
block: introduce BlockDriver.bdrv_needs_filename to enable some
drivers
Some drivers will have driver specifics options but no filename.
This new bool allow the block layer to treat them correctly.
The .bdrv_needs_filename is set in drivers not having .bdrv_parse_filename and
not having .bdrv_open.
The first exception to this rule will be the quorum driver.
v3:
Add comment [Eric]
v1-2:
simplify assertion [Kevin]
add .bdrv_needs_filename only to driver to having .bdrv_parse_filename nor
.bdrv_open [Kevin]
Tested that raw, qed and ssh protocols works fine.
Benoît Canet (1):
block: introduce BlockDriver.bdrv_needs_filename
Some drivers will have driver specifics options but no filename.
This new bool allow the block layer to treat them correctly.
The .bdrv_needs_filename is set in drivers not having .bdrv_parse_filename and
not having .bdrv_open.
The first exception to this rule will be the quorum driver.
.
Benoît Canet (1):
block: introduce BlockDriver.bdrv_needs_filename to enable some
drivers.
block.c | 5 +++--
block/gluster.c | 4
block/iscsi.c | 1 +
block/raw-posix.c | 5 +
block/raw-win32.c | 2 ++
block/rbd.c
Some drivers will have driver specifics options but no filename.
This new bool allow the block layer to treat them correctly.
The .bdrv_needs_filename is set in drivers not having .bdrv_parse_filename and
not having .bdrv_open.
The first exception to this rule will be the quorum driver.
Signed-off-by: Benoit Canet ben...@irqsave.net
---
block.c | 23 ++-
include/qapi/qmp/qdict.h | 2 ++
qobject/qdict.c | 21 +
3 files changed, 25 insertions(+), 21 deletions(-)
diff --git a/block.c b/block.c
index
This paves the way for the quorum block driver to be merged.
Benoît Canet (1):
block: Add bdrv_forbid_ext_snapshots.
block.c | 27 +++
block/blkdebug.c | 2 ++
block/blkverify.c | 2 ++
block/bochs.c | 2 ++
block
Drivers having a bs-file where set to recurse the call to their child.
Protocol and drivers designed to be on the bottom of the stack where set to
allow
snapshots.
Future protocols like quorum where creating snapshots does not make sense
without block filters will be set to forbid snapshots.
Le Wednesday 25 Sep 2013 à 16:37:19 (+0200), Max Reitz a écrit :
If an error occurs in l2_allocate, the allocated (but unused) L2 cluster
should be freed.
Signed-off-by: Max Reitz mre...@redhat.com
---
block/qcow2-cluster.c | 4
1 file changed, 4 insertions(+)
diff --git
Le Wednesday 25 Sep 2013 à 16:37:20 (+0200), Max Reitz a écrit :
Just returning -errno in some cases prevents
trace_qcow2_l2_allocate_done from being executed (and, in one case, also
the unused allocated L2 table from being freed). Always going down the
error path fixes this.
Signed-off-by:
Le Wednesday 25 Sep 2013 à 16:37:18 (+0200), Max Reitz a écrit :
In l2_allocate, the fail path is executed if qcow2_cache_flush fails.
However, the L2 table has not yet been fetched from the L2 table cache.
The qcow2_cache_put in the fail path therefore basically gives an
undefined argument as
Le Thursday 26 Sep 2013 à 13:43:19 (+0200), Kevin Wolf a écrit :
Am 26.09.2013 um 04:01 hat Jeff Cody geschrieben:
On Wed, Sep 25, 2013 at 04:23:22PM +0200, Benoît Canet wrote:
Drivers having a bs-file where set to recurse the call to their child.
Protocol and drivers designed
]
Benoît Canet (1):
block: Add BlockDriver.bdrv_check_ext_snapshot.
block.c | 14 ++
block/blkverify.c | 2 ++
blockdev.c| 5 +
include/block/block.h | 7 +++
include/block/block_int.h | 8
5 files changed, 36
This field is used by blkverify to disable external snapshots creation.
I will also be used by block filters like quorum to disable external snapshots
creation.
Signed-off-by: Benoit Canet ben...@irqsave.net
---
block.c | 14 ++
block/blkverify.c | 2 ++
Le Friday 08 Feb 2013 à 11:38:38 (+0100), Kevin Wolf a écrit :
Am 28.01.2013 18:07, schrieb Benoît Canet:
Signed-off-by: Benoit Canet ben...@irqsave.net
---
block/quorum.c | 111
1 file changed, 111 insertions(+)
diff
+static void quorum_aio_bh(void *opaque)
+{
+QuorumAIOCB *acb = opaque;
+BDRVQuorumState *s = acb-bqs;
+int ret;
+
+ret = s-threshold = acb-success_count ? 0 : -EIO;
It would be very much preferable if you stored the actual error code
instead of turning everything
Le Friday 08 Feb 2013 à 11:38:38 (+0100), Kevin Wolf a écrit :
Am 28.01.2013 18:07, schrieb Benoît Canet:
Signed-off-by: Benoit Canet ben...@irqsave.net
---
block/quorum.c | 111
1 file changed, 111 insertions(+)
diff
Le Friday 08 Feb 2013 à 13:07:03 (+0100), Kevin Wolf a écrit :
Am 28.01.2013 18:07, schrieb Benoît Canet:
Use gnutls's SHA-256 to compare versions.
Signed-off-by: Benoit Canet ben...@irqsave.net
---
block/quorum.c | 303
to define the max size of an io when throttling by iops via
iops_sector_count to avoid vm users cheating on the iops limit.
The last patch adds a metric reflecting how much the I/O are throttled.
since v1:
Add throttling percentage metric [Benoît]
Benoît Canet (5):
block: Repair the throttling
The throttling code was segfaulting since commit
02ffb504485f0920cfc75a0982a602f824a9a4f4 because some qemu_co_queue_next caller
does not run in a coroutine.
qemu_co_queue_do_restart assume that the caller is a coroutinne.
As sugested by Stefan fix this by entering the coroutine directly.
The thresholds of the leaky bucket algorithm can be used to allow some
burstiness.
Signed-off-by: Benoit Canet ben...@irqsave.net
---
block/qapi.c | 24 +
blockdev.c | 105 +++---
hmp.c| 32 +++--
This patch replace the previous algorithm by the well described leaky bucket
algorithm: A bucket is filled by the incoming IOs and a periodic timer decrement
the counter to make the bucket leak. When a given threshold is reached the
bucket is full and the IOs are hold.
In this patch the threshold
This feature can be used in case where users are avoiding the iops limit by
doing jumbo I/Os hammering the storage backend.
Signed-off-by: Benoit Canet ben...@irqsave.net
---
block.c |8 +++-
block/qapi.c |4
blockdev.c| 22
This metrics show how many percent of the time I/Os are put on hold by the
throttling algorithm.
This metric could be used by system administrators or cloud stack developpers
to decide when the throttling settings must be changed.
Signed-off-by: Benoit Canet ben...@irqsave.net
---
block.c
Hi,
I have some budget to improve QCOW2's cryptography.
My main concern is that the QCOW2 image crypto key is passed in clear text.
Do you (the block maintainers) have an idea on how the code could be improved
to securely pass the crypto key to the QCOW2 code ?
Best regards
Benoît
1 - 100 of 2243 matches
Mail list logo