On (Tue) 19 May 2015 [11:32:56], Amit Shah wrote:
On (Tue) 19 May 2015 [10:50:59], Fam Zheng wrote:
Achieved by:
- Remembering the server fd with a global variable, in order to access
it from nbd_client_closed.
- Checking nbd_can_accept() and updating server_fd handler whenever
On 19/05/2015 13:49, Fam Zheng wrote:
When block job mirror is finished, the source and target is synced. But
we call bdrv_swap() later in main loop bh. If the guest write before
that, target will not get the new data.
This is too late. As a rule, the blocker must be established before
On (Tue) 19 May 2015 [10:50:59], Fam Zheng wrote:
Achieved by:
- Remembering the server fd with a global variable, in order to access
it from nbd_client_closed.
- Checking nbd_can_accept() and updating server_fd handler whenever
client connects or disconnects.
Signed-off-by: Fam
On Tue, 05/19 10:04, Paolo Bonzini wrote:
On 19/05/2015 13:49, Fam Zheng wrote:
When block job mirror is finished, the source and target is synced. But
we call bdrv_swap() later in main loop bh. If the guest write before
that, target will not get the new data.
This is too late. As a
On 19/05/2015 18:48, Fam Zheng wrote:
This is too late. As a rule, the blocker must be established before
calling bdrv_drain, and removed on the next yield (in this case, before
the assignment to last_pause_ns).
I don't understand. If the blocker is removed before mirror_run returns,
On 19/05/2015 20:37, Fam Zheng wrote:
On Tue, 05/19 10:49, Paolo Bonzini wrote:
On 19/05/2015 18:48, Fam Zheng wrote:
This is too late. As a rule, the blocker must be established before
calling bdrv_drain, and removed on the next yield (in this case, before
the assignment to
On Wed, May 13, 2015 at 11:11:13AM +0800, Fam Zheng wrote:
Before, we only yield after initializing dirty bitmap, where the QMP
command would return. That may take very long, and guest IO will be
blocked.
Add sleep points like the later mirror iterations.
Signed-off-by: Fam Zheng
On Tue, 05/19 10:49, Paolo Bonzini wrote:
On 19/05/2015 18:48, Fam Zheng wrote:
This is too late. As a rule, the blocker must be established before
calling bdrv_drain, and removed on the next yield (in this case, before
the assignment to last_pause_ns).
I don't understand. If
On Tue, 05/19 16:02, Stefan Hajnoczi wrote:
On Tue, May 19, 2015 at 10:50:57AM +, Fam Zheng wrote:
v3: Replace previous 13 with a simple return type conversion patch.
Drop RFC.
This carries out the mandate in the comment of qemu_set_fd_handler2 and
removes
fd_read_poll from
On Tue, 05/19 12:57, Paolo Bonzini wrote:
On 19/05/2015 20:37, Fam Zheng wrote:
On Tue, 05/19 10:49, Paolo Bonzini wrote:
On 19/05/2015 18:48, Fam Zheng wrote:
This is too late. As a rule, the blocker must be established before
calling bdrv_drain, and removed on the next yield
The previous series no longer applies after all the code that was
moved to block/io.c in 61007b316c, so I rebased it.
Other than that there are no changes.
V8:
- Rebased against the current master.
V7: https://lists.gnu.org/archive/html/qemu-devel/2015-04/msg01196.html
- Make
Am 31.03.2015 um 03:38 schrieb John Snow:
You probably meant 'fdc' !
On 03/29/2015 01:53 PM, Andreas Färber wrote:
To be used for embedding the device.
Add gtk-doc private/public markers for parent field.
Signed-off-by: Andreas Färber afaer...@suse.de
---
hw/block/fdc.c | 87
From: Benoît Canet benoit.ca...@nodalink.com
Group throttling will share ThrottleState between multiple bs.
As a consequence the ThrottleState will be accessed by multiple aio
context.
Timers are tied to their aio context so they must go out of the
ThrottleState structure.
This commit paves the
The throttle group support use a cooperative round robin scheduling
algorithm.
The principles of the algorithm are simple:
- Each BDS of the group is used as a token in a circular way.
- The active BDS computes if a wait must be done and arms the right
timer.
- If a wait must be done the token
Signed-off-by: Alberto Garcia be...@igalia.com
Reviewed-by: Stefan Hajnoczi stefa...@redhat.com
---
tests/test-throttle.c | 79 ---
1 file changed, 69 insertions(+), 10 deletions(-)
diff --git a/tests/test-throttle.c b/tests/test-throttle.c
index
This patch improves the test by attaching a different number of drives
to the VM and putting them in the same throttling group. The test
verifies that the I/O is evenly distributed among all members of the
group, and that the limits are enforced.
By default the test is repeated 3 times with 1, 2
Am 27.03.2015 um 19:46 schrieb John Snow:
On 03/26/2015 11:41 AM, Andreas Färber wrote:
Am 25.03.2015 um 23:14 schrieb John Snow:
On 03/25/2015 02:20 PM, Andreas Färber wrote:
Replace uses of g_test_add_data_func() for QTest test cases.
It is still valid to use it for any non-QTest test
On Tue, May 19, 2015 at 10:51:01AM +, Fam Zheng wrote:
This callback is called by main loop before polling s-fd, if it returns
false, the fd will not be polled in this iteration.
This is redundant with checks inside read callback. After this patch,
the data will be copied from s-fd to
On Mon, May 18, 2015 at 06:22:22PM +0200, Max Reitz wrote:
On 12.05.2015 01:04, John Snow wrote:
From: Kashyap Chamarthy kcham...@redhat.com
Although the canonical source of reference for QMP commands is
qapi-schema.json, for consistency's sake, update qmp-commands.hx to
state the list of
On Tue, May 19, 2015 at 10:50:59AM +, Fam Zheng wrote:
Achieved by:
- Remembering the server fd with a global variable, in order to access
it from nbd_client_closed.
- Checking nbd_can_accept() and updating server_fd handler whenever
client connects or disconnects.
Factor out a few common lines of code, reformat, improve comments.
Signed-off-by: Kevin Wolf kw...@redhat.com
---
hw/block/fdc.c | 62 +++---
1 file changed, 38 insertions(+), 24 deletions(-)
diff --git a/hw/block/fdc.c b/hw/block/fdc.c
index
What callers really do with this function is to switch from execution
phase (including data transfers) to result phase where the guest can
read out one or more status bytes from the FIFO (the number depends on
the command).
Rename the function accordingly.
Signed-off-by: Kevin Wolf
This commit makes similar improvements as have already been made to the
write function: Instead of relying on a flag in the MSR to distinguish
controller phases, use the explicit phase that we store now. Assertions
of the right MSR flags are added.
Signed-off-by: Kevin Wolf kw...@redhat.com
---
This series fixes the real bug that caused CVE-2015-3456, and does some
cleanup in the FIFO access functions to make the command processing more
obvious.
Kevin Wolf (8):
fdc: Rename fdctrl_reset_fifo() to fdctrl_to_command_phase()
fdc: Rename fdctrl_set_fifo() to fdctrl_to_result_phase()
Instead of relying on a flag in the MSR to distinguish controller phases,
use the explicit phase that we store now. Assertions of the right MSR
flags are added.
Signed-off-by: Kevin Wolf kw...@redhat.com
---
hw/block/fdc.c | 67 ++
1 file
The RQM bit in MSR should be set whenever the guest is supposed to
access the FIFO, and it should be cleared in all other cases. This is
important so the guest can't continue writing/reading the FIFO beyond
the length that it's suppossed to access (see CVE-2015-3456).
Commit e9077462 fixed the
This just adds a few additional checks of the MSR and interrupt pin to
the already existing test cases.
Signed-off-by: Kevin Wolf kw...@redhat.com
---
tests/fdc-test.c | 34 ++
1 file changed, 34 insertions(+)
diff --git a/tests/fdc-test.c b/tests/fdc-test.c
On Tue, May 19, 2015 at 10:51:00AM +, Fam Zheng wrote:
This callback is called by main loop before polling s-fd, if it returns
false, the fd will not be polled in this iteration.
This is redundant with checks inside read callback. After this patch,
the data will be copied from s-fd to
Signed-off-by: Alberto Garcia be...@igalia.com
Reviewed-by: Stefan Hajnoczi stefa...@redhat.com
---
block/Makefile.objs | 1 +
block/throttle-groups.c | 261
include/block/block_int.h | 1 +
include/block/throttle-groups.h |
Signed-off-by: Alberto Garcia be...@igalia.com
---
block/qapi.c | 3 +++
hmp.c| 6 --
qapi/block-core.json | 4 +++-
3 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/block/qapi.c b/block/qapi.c
index a5ac312..a738148 100644
--- a/block/qapi.c
+++
bdrv_swap() touches the fields of a BlockDriverState that are
protected by the ThrottleGroup lock. Although those fields end up in
their original place, they are temporarily swapped in the process,
so there's a chance that an operation on a member of the same group
happening on a different thread
On 19 May 2015 at 21:52, John Snow js...@redhat.com wrote:
Hmm, I think this is not purely derived state because the flags are not
necessarily sufficient for regenerating that state.
Yeah, if there's genuinely an underlying state machine that's
not completely visible in registers you need to
On 05/18/2015 11:45 AM, Stefan Hajnoczi wrote:
On Mon, May 11, 2015 at 07:04:21PM -0400, John Snow wrote:
If we want to get at the job after the life of the job,
we'll need a refcount for this object.
This may occur for example if we wish to inspect the actions
taken by a particular job
On 05/19/2015 11:35 AM, Kevin Wolf wrote:
What callers really do with this function is to switch from execution
phase (including data transfers) to result phase where the guest can
read out one or more status bytes from the FIFO (the number depends on
the command).
Rename the function
On 05/19/2015 11:35 AM, Kevin Wolf wrote:
The floppy controller spec describes three different controller phases,
which are currently not explicitly modelled in our emulation. Instead,
each phase is represented by a combination of flags in registers.
This patch makes explicit in which
On 19 May 2015 at 16:35, Kevin Wolf kw...@redhat.com wrote:
The floppy controller spec describes three different controller phases,
which are currently not explicitly modelled in our emulation. Instead,
each phase is represented by a combination of flags in registers.
This patch makes
On 19 May 2015 at 16:35, Kevin Wolf kw...@redhat.com wrote:
Instead of relying on a flag in the MSR to distinguish controller phases,
use the explicit phase that we store now. Assertions of the right MSR
flags are added.
Signed-off-by: Kevin Wolf kw...@redhat.com
---
hw/block/fdc.c | 67
On 05/19/2015 11:35 AM, Kevin Wolf wrote:
What all callers of fdctrl_reset_fifo() really want to do is to start
the command phase, where writes to the data port initiate a new command.
The function doesn't only clear the FIFO, but also sets up the state so
that a new command can be
On 05/19/2015 11:36 AM, Kevin Wolf wrote:
The RQM bit in MSR should be set whenever the guest is supposed to
access the FIFO, and it should be cleared in all other cases. This is
important so the guest can't continue writing/reading the FIFO beyond
the length that it's suppossed to access
On 05/19/2015 11:35 AM, Kevin Wolf wrote:
Factor out a few common lines of code, reformat, improve comments.
Signed-off-by: Kevin Wolf kw...@redhat.com
---
hw/block/fdc.c | 62
+++---
1 file changed, 38 insertions(+), 24 deletions(-)
On 05/19/2015 11:35 AM, Kevin Wolf wrote:
Instead of relying on a flag in the MSR to distinguish controller phases,
use the explicit phase that we store now. Assertions of the right MSR
flags are added.
Signed-off-by: Kevin Wolf kw...@redhat.com
---
hw/block/fdc.c | 67
On 05/19/2015 11:36 AM, Kevin Wolf wrote:
This commit makes similar improvements as have already been made to the
write function: Instead of relying on a flag in the MSR to distinguish
controller phases, use the explicit phase that we store now. Assertions
of the right MSR flags are added.
42 matches
Mail list logo