[Qemu-devel] [PATCH 3/3] aio: always check paio_init result

2011-07-27 Thread Frediano Ziglio
Signed-off-by: Frediano Ziglio fredd...@gmail.com --- block/raw-posix.c | 11 +-- 1 files changed, 5 insertions(+), 6 deletions(-) diff --git a/block/raw-posix.c b/block/raw-posix.c index 275b41e..3c6bd4b 100644 --- a/block/raw-posix.c +++ b/block/raw-posix.c @@ -230,13 +230,15

[Qemu-devel] [PATCH 0/2] improve Linux AIO support

2011-07-27 Thread Frediano Ziglio
These patches avoid many fallbacks to POSIX AIO and enable Linux AIO even if nocache is not specified. Also add flush support with Linux AIO. Frediano Ziglio (2): linux aio: support flush operation aio: use Linux AIO even if nocache is not specified block/raw-posix.c | 30

[Qemu-devel] [PATCH 1/2] linux aio: support flush operation

2011-07-27 Thread Frediano Ziglio
Signed-off-by: Frediano Ziglio fredd...@gmail.com --- block/raw-posix.c |7 +++ linux-aio.c |3 +++ 2 files changed, 10 insertions(+), 0 deletions(-) diff --git a/block/raw-posix.c b/block/raw-posix.c index 3c6bd4b..27ae81e 100644 --- a/block/raw-posix.c +++ b/block/raw

[Qemu-devel] [PATCH 2/2] aio: use Linux AIO even if nocache is not specified

2011-07-27 Thread Frediano Ziglio
Currently Linux AIO are used only if nocache is specified. Linux AIO works in all cases. The only problem is that currently Linux AIO does not align data so I add a test that use POSIX AIO in this case. Signed-off-by: Frediano Ziglio fredd...@gmail.com --- block/raw-posix.c | 23

Re: [Qemu-devel] [PATCH 1/2] linux aio: support flush operation

2011-07-27 Thread Frediano Ziglio
Il giorno 27/lug/2011, alle ore 20:31, Christoph Hellwig h...@lst.de ha scritto: Did you test this at all? Yes! Not at kernel level :-) Usually I trust documentation and man pages. On Wed, Jul 27, 2011 at 08:25:25PM +0200, Frediano Ziglio wrote: +case QEMU_AIO_FLUSH

Re: [Qemu-devel] [PATCH 09/10] posix-aio-compat: Allow read after EOF

2011-07-26 Thread Frediano Ziglio
2011/7/26 Kevin Wolf kw...@redhat.com: In order to be able to transparently replace bdrv_read calls by bdrv_co_read, reading beyond EOF must produce zeros instead of short reads for AIO, too. Signed-off-by: Kevin Wolf kw...@redhat.com ---  posix-aio-compat.c |   19 +++  1

[Qemu-devel] [PATCH 0/5] qcow: coroutines cleanup

2011-07-22 Thread Frediano Ziglio
These patches mostly cleanup some AIO code using coroutines. These patches apply to Kevin's repository, branch coroutine-block. Mostly they use stack instead of allocated AIO structure. Frediano Ziglio (5): qcow: allocate QCowAIOCB structure using stack qcow: QCowAIOCB field cleanup qcow

[Qemu-devel] [PATCH 1/5] qcow: allocate QCowAIOCB structure using stack

2011-07-22 Thread Frediano Ziglio
instead of calling qemi_aio_get use stack Signed-off-by: Frediano Ziglio fredd...@gmail.com --- block/qcow.c | 52 block/qcow2.c | 38 +++--- 2 files changed, 27 insertions(+), 63 deletions(-) diff --git

[Qemu-devel] [PATCH 2/5] qcow: QCowAIOCB field cleanup

2011-07-22 Thread Frediano Ziglio
remove unused field from this structure and put some of them in qcow_aio_read_cb and qcow_aio_write_cb Signed-off-by: Frediano Ziglio fredd...@gmail.com --- block/qcow.c | 135 +++--- 1 files changed, 63 insertions(+), 72 deletions(-) diff

[Qemu-devel] [PATCH 4/5] qcow: embed qcow_aio_read_cb into qcow_co_readv and qcow_aio_write_cb into qcow_co_writev

2011-07-22 Thread Frediano Ziglio
Signed-off-by: Frediano Ziglio fredd...@gmail.com --- block/qcow.c | 287 - 1 files changed, 121 insertions(+), 166 deletions(-) diff --git a/block/qcow.c b/block/qcow.c index 015a472..2feb7d7 100644 --- a/block/qcow.c +++ b/block/qcow.c

[Qemu-devel] [PATCH 5/5] qcow: remove old #undefined code

2011-07-22 Thread Frediano Ziglio
Signed-off-by: Frediano Ziglio fredd...@gmail.com --- block/qcow.c | 63 -- 1 files changed, 0 insertions(+), 63 deletions(-) diff --git a/block/qcow.c b/block/qcow.c index 2feb7d7..42331c7 100644 --- a/block/qcow.c +++ b/block/qcow.c

[Qemu-devel] [PATCH 3/5] qcow: move some blocks of code to avoid useless variable initialization

2011-07-22 Thread Frediano Ziglio
Signed-off-by: Frediano Ziglio fredd...@gmail.com --- block/qcow.c | 53 ++--- 1 files changed, 26 insertions(+), 27 deletions(-) diff --git a/block/qcow.c b/block/qcow.c index e52df91..015a472 100644 --- a/block/qcow.c +++ b/block/qcow.c

Re: [Qemu-devel] [RFC] qcow2: 2 way to improve performance updating refcount

2011-07-22 Thread Frediano Ziglio
2011/7/22 Kevin Wolf kw...@redhat.com: Am 21.07.2011 18:17, schrieb Frediano Ziglio: Hi,   after a snapshot is taken currently many write operations are quite slow due to - refcount updates (decrement old and increment new ) - cluster allocation and file expansion - read-modify-write

Re: [Qemu-devel] [RFC PATCH 0/5] qcow: coroutines cleanup

2011-07-22 Thread Frediano Ziglio
2011/7/22 Kevin Wolf kw...@redhat.com: Am 20.07.2011 15:56, schrieb Frediano Ziglio: These patches mostly cleanup some AIO code using coroutines. These patches apply to Kevin's repository, branch coroutine-block. Mostly they use stack instead of allocated AIO structure. Frediano Ziglio (5

Re: [Qemu-devel] [RFC PATCH 4/5] avoid dandling pointers

2011-07-22 Thread Frediano Ziglio
2011/7/22 Kevin Wolf kw...@redhat.com: Am 20.07.2011 15:56, schrieb Frediano Ziglio: Signed-off-by: Frediano Ziglio fredd...@gmail.com ---  block/qcow.c |    2 ++  1 files changed, 2 insertions(+), 0 deletions(-) Subject needs a qcow: ... Kevin Yes, now I removed that patch

Re: [Qemu-devel] [RFC PATCH 0/5] qcow: coroutines cleanup

2011-07-22 Thread Frediano Ziglio
2011/7/22 Stefan Hajnoczi stefa...@gmail.com: On Fri, Jul 22, 2011 at 11:10 AM, Kevin Wolf kw...@redhat.com wrote: Am 22.07.2011 11:26, schrieb Frediano Ziglio: - you can use scripts/checkpatch.pl to check your patches before send I updated the SubmitAPatch wiki earlier this week. Stefan

Re: [Qemu-devel] [RFC] qcow2: 2 way to improve performance updating refcount

2011-07-22 Thread Frediano Ziglio
2011/7/22 Stefan Hajnoczi stefa...@gmail.com: On Fri, Jul 22, 2011 at 10:13 AM, Frediano Ziglio fredd...@gmail.com wrote: 2011/7/22 Kevin Wolf kw...@redhat.com: Am 21.07.2011 18:17, schrieb Frediano Ziglio: Hi,   after a snapshot is taken currently many write operations are quite slow due

Re: [Qemu-devel] [RFC PATCH 0/5] qcow: coroutines cleanup

2011-07-22 Thread Frediano Ziglio
Il giorno ven, 22/07/2011 alle 12.10 +0200, Kevin Wolf ha scritto: Am 22.07.2011 11:26, schrieb Frediano Ziglio: 2011/7/22 Kevin Wolf kw...@redhat.com: Am 20.07.2011 15:56, schrieb Frediano Ziglio: These patches mostly cleanup some AIO code using coroutines. These patches apply

[Qemu-devel] [RFC] qcow2: 2 way to improve performance updating refcount

2011-07-21 Thread Frediano Ziglio
snapshot, no changes required for owners - deleting snapshot. Only possible if you have no child or a single child. Will require to scan all l2 tables and merge and update owner. Same performance Regards Frediano Ziglio

[Qemu-devel] [RFC PATCH 2/5] use more stack

2011-07-20 Thread Frediano Ziglio
Signed-off-by: Frediano Ziglio fredd...@gmail.com --- block/qcow.c | 133 +++--- 1 files changed, 62 insertions(+), 71 deletions(-) diff --git a/block/qcow.c b/block/qcow.c index d19ef04..cd1f9e3 100644 --- a/block/qcow.c +++ b/block/qcow.c

[Qemu-devel] [RFC PATCH 5/5] qemu_aio_get used to clear all allocated buffer

2011-07-20 Thread Frediano Ziglio
Signed-off-by: Frediano Ziglio fredd...@gmail.com --- block/qcow.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/block/qcow.c b/block/qcow.c index 007fb57..8fd1ee5 100644 --- a/block/qcow.c +++ b/block/qcow.c @@ -499,7 +499,6 @@ static QCowAIOCB *qcow_aio_setup

[Qemu-devel] [RFC PATCH 3/5] more stack work

2011-07-20 Thread Frediano Ziglio
Signed-off-by: Frediano Ziglio fredd...@gmail.com --- block/qcow.c | 53 ++--- 1 files changed, 26 insertions(+), 27 deletions(-) diff --git a/block/qcow.c b/block/qcow.c index cd1f9e3..8ccd7d7 100644 --- a/block/qcow.c +++ b/block/qcow.c

[Qemu-devel] [RFC PATCH 0/5] Coroutines cleanup

2011-07-20 Thread Frediano Ziglio
These patches mostly cleanup some AIO code using coroutines. These patches apply to Kevin's repository, branch coroutine-block. Mostly they use stack instead of allocated AIO structure. Frediano Ziglio (5): allocate AIO on stack use more stack more stack work avoid dandling pointers

[Qemu-devel] [RFC PATCH 1/5] allocate AIO on stack

2011-07-20 Thread Frediano Ziglio
Signed-off-by: Frediano Ziglio fredd...@gmail.com --- block/qcow.c | 52 block/qcow2.c | 38 +++--- 2 files changed, 27 insertions(+), 63 deletions(-) diff --git a/block/qcow.c b/block/qcow.c index 6447c2a

[Qemu-devel] [RFC PATCH 4/5] avoid dandling pointers

2011-07-20 Thread Frediano Ziglio
Signed-off-by: Frediano Ziglio fredd...@gmail.com --- block/qcow.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/block/qcow.c b/block/qcow.c index 8ccd7d7..007fb57 100644 --- a/block/qcow.c +++ b/block/qcow.c @@ -616,6 +616,7 @@ static int qcow_co_readv

[Qemu-devel] [PATCH] removed unused function

2011-07-20 Thread Frediano Ziglio
Signed-off-by: Frediano Ziglio fredd...@gmail.com --- block.c | 13 - block.h |2 -- 2 files changed, 0 insertions(+), 15 deletions(-) diff --git a/block.c b/block.c index 24a25d5..b879d2f 100644 --- a/block.c +++ b/block.c @@ -1108,19 +1108,6 @@ int bdrv_pwrite_sync

Re: [Qemu-devel] [RFC PATCH 5/5] qemu_aio_get used to clear all allocated buffer

2011-07-20 Thread Frediano Ziglio
2011/7/20 Kevin Wolf kw...@redhat.com: Am 20.07.2011 09:57, schrieb Frediano Ziglio: Signed-off-by: Frediano Ziglio fredd...@gmail.com ---  block/qcow.c |    2 +-  1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/block/qcow.c b/block/qcow.c index 007fb57..8fd1ee5 100644

[Qemu-devel] [RFC PATCH 5/5] qcow: small optimization initializing QCowAIOCB

2011-07-20 Thread Frediano Ziglio
Signed-off-by: Frediano Ziglio fredd...@gmail.com --- block/qcow.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/block/qcow.c b/block/qcow.c index 007fb57..8fd1ee5 100644 --- a/block/qcow.c +++ b/block/qcow.c @@ -499,7 +499,6 @@ static QCowAIOCB *qcow_aio_setup

[Qemu-devel] [RFC PATCH 0/5] qcow: coroutines cleanup

2011-07-20 Thread Frediano Ziglio
These patches mostly cleanup some AIO code using coroutines. These patches apply to Kevin's repository, branch coroutine-block. Mostly they use stack instead of allocated AIO structure. Frediano Ziglio (5): qcow: allocate QCowAIOCB structure using stack qcow: QCowAIOCB field cleanup qcow

[Qemu-devel] [RFC PATCH 1/5] qcow: allocate QCowAIOCB structure using stack

2011-07-20 Thread Frediano Ziglio
instead of calling qemi_aio_get use stack Signed-off-by: Frediano Ziglio fredd...@gmail.com --- block/qcow.c | 52 block/qcow2.c | 38 +++--- 2 files changed, 27 insertions(+), 63 deletions(-) diff --git

[Qemu-devel] [RFC PATCH 4/5] avoid dandling pointers

2011-07-20 Thread Frediano Ziglio
Signed-off-by: Frediano Ziglio fredd...@gmail.com --- block/qcow.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/block/qcow.c b/block/qcow.c index 8ccd7d7..007fb57 100644 --- a/block/qcow.c +++ b/block/qcow.c @@ -616,6 +616,7 @@ static int qcow_co_readv

[Qemu-devel] [RFC PATCH 2/5] qcow: QCowAIOCB field cleanup

2011-07-20 Thread Frediano Ziglio
remove unused field from this structure and put some of them in qcow_aio_read_cb and qcow_aio_write_cb Signed-off-by: Frediano Ziglio fredd...@gmail.com --- block/qcow.c | 133 +++--- 1 files changed, 62 insertions(+), 71 deletions(-) diff

[Qemu-devel] [RFC PATCH 3/5] qcow: move some blocks of code to avoid useless variable initialization

2011-07-20 Thread Frediano Ziglio
Signed-off-by: Frediano Ziglio fredd...@gmail.com --- block/qcow.c | 53 ++--- 1 files changed, 26 insertions(+), 27 deletions(-) diff --git a/block/qcow.c b/block/qcow.c index cd1f9e3..8ccd7d7 100644 --- a/block/qcow.c +++ b/block/qcow.c

[Qemu-devel] [PATCH] avoid core reading with bdrv_read (qemu-io)

2011-07-19 Thread Frediano Ziglio
-by: Frediano Ziglio fredd...@gmail.com --- block/qcow.c |5 - 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/block/qcow.c b/block/qcow.c index 6f7973c..1386e92 100644 --- a/block/qcow.c +++ b/block/qcow.c @@ -573,7 +573,8 @@ static int qcow_aio_read_cb(void *opaque) if (acb

[Qemu-devel] coroutines and block I/O considerations

2011-07-19 Thread Frediano Ziglio
Hi, I'm exercise myself in block I/O layer and I decided to test coroutine branch cause I find it easier to use instead of normal callback. Looking at normal code there are a lot of rows in source to save/restore state and declare callbacks and is not that easier to understand the normal flow.

Re: [Qemu-devel] [PATCH] avoid core reading with bdrv_read (qemu-io)

2011-07-19 Thread Frediano Ziglio
2011/7/19 Kevin Wolf kw...@redhat.com: Am 19.07.2011 09:33, schrieb Frediano Ziglio: This patch apply to kevin coroutine-block branch and avoid code. It fix qcow: Use coroutines patch. Test case: $ ./qemu-img create -f qcow aaa.img 1G Formatting 'aaa.img', fmt=qcow size=1073741824 encryption

Re: [Qemu-devel] External COW format for raw images

2011-07-19 Thread Frediano Ziglio
2011/7/19 Robert Wang wdon...@linux.vnet.ibm.com: As you known, raw image is very popular,but the raw image format does NOT support Copy-On-Write,a raw image file can NOT be used as a copy destination, then image streaming/Live Block Copy will NOT work. To fix this, we need to add a new block

[Qemu-devel] Possible leak in block/qcow.c

2011-07-18 Thread Frediano Ziglio
::cluster_data is freed. It seems to me a leak but I don't understand why nobody reported this problem before (it should happen at every write so anybody using qcow encrypted should rapidly see this problem). Perhaps there is a sort of garbage collector I'm not aware? Frediano Ziglio

Re: [Qemu-devel] Default cache mode

2011-06-29 Thread Frediano Ziglio
. Regards Frediano Ziglio

Re: [Qemu-devel] [RFC PATCH v2] Specification for qcow2 version 3

2011-06-28 Thread Frediano Ziglio
raising default cluster size would help changing a spread idea of bad qemu i/o performance. Regards Frediano Ziglio

[Qemu-devel] [PATCH 1/1] fix operator precedence

2011-06-20 Thread Frediano Ziglio
Signed-off-by: Frediano Ziglio fredd...@gmail.com --- cmd.c |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cmd.c b/cmd.c index db2c9c4..ecca167 100644 --- a/cmd.c +++ b/cmd.c @@ -486,7 +486,7 @@ timestr( snprintf(ts, size, %u:%02u.%02u

[Qemu-devel] [PATCH] rewrote timer implementation for rtl8139.

2010-02-20 Thread Frediano Ziglio
* Added rx/tx buffer reset when enabling rx/tx operation + * + * 2010-Feb-04 Frediano Ziglio: Rewrote timer support using QEMU timer only + * when strictly needed (required for for + * Darwin) */ #include hw.h

Re: [Qemu-devel] [PATCH] rewrote timer implementation for rtl8139.

2010-02-20 Thread Frediano Ziglio
2010/2/20 Igor Kovalenko igor.v.kovale...@gmail.com: On Sat, Feb 20, 2010 at 2:26 AM, Anthony Liguori anth...@codemonkey.ws wrote: On 02/19/2010 04:22 PM, Alexander Graf wrote: On 19.02.2010, at 22:50, Anthony Liguori wrote: On 02/16/2010 02:35 AM, Frediano Ziglio wrote: Add a QEMU

[Qemu-devel] [PATCH] rewrote timer implementation for rtl8139.

2010-02-20 Thread Frediano Ziglio
* Added rx/tx buffer reset when enabling rx/tx operation + * + * 2010-Feb-04 Frediano Ziglio: Rewrote timer support using QEMU timer only + * when strictly needed (required for for + * Darwin) */ #include hw.h

[Qemu-devel] [PATCH] rewrote timer implementation for rtl8139.

2010-02-20 Thread Frediano Ziglio
Add a QEMU timer only when needed (timeout status not set, timeout irq wanted and timer set). This patch is required for Darwin. Patch has been tested under FreeBSD, Darwin and Linux. Signed-off-by: Frediano Ziglio fredd...@gmail.com --- hw/rtl8139.c | 139

[Qemu-devel] [PATCH] rewrote timer implementation for rtl8139.

2010-02-16 Thread Frediano Ziglio
Add a QEMU timer only when needed (timeout status not set, timeout irq wanted and timer set). This patch is required for Darwin. Patch has been tested under FreeBSD, Darwin and Linux. Signed-off-by: Frediano Ziglio fredd...@gmail.com --- hw/rtl8139.c | 136

[Qemu-devel] [PATCH] rewrote timer implementation for rtl8139. Add a QEMU timer only when needed (timeout status not set, timeout irq wanted and timer set).

2010-02-09 Thread Frediano Ziglio
Signed-off-by: Frediano Ziglio fredd...@gmail.com --- hw/rtl8139.c | 136 ++--- 1 files changed, 81 insertions(+), 55 deletions(-) diff --git a/hw/rtl8139.c b/hw/rtl8139.c index f04dd54..e43c15c 100644 --- a/hw/rtl8139.c +++ b/hw/rtl8139.c

[Qemu-devel] [PATCH] rtl8139 timer interrupt rewrote

2010-02-08 Thread Frediano Ziglio
rewrote timer implementation for rtl8139. Add a QEMU timer only when needed (timeout status not set, timeout irq wanted and timer set). Signed-off-by: Frediano Ziglio fredd...@gmail.com --- hw/rtl8139.c | 136 ++--- 1 files changed, 81

Re: [Qemu-devel] [PATCH] rtl8139 timer interrupt rewrote

2010-02-08 Thread Frediano Ziglio
2010/2/8 Igor Kovalenko igor.v.kovale...@gmail.com: On Sun, Feb 7, 2010 at 6:22 PM, Frediano Ziglio fredd...@gmail.com wrote: rewrote timer implementation for rtl8139. Add a QEMU timer only when needed (timeout status not set, timeout irq wanted and timer set). Signed-off-by: Frediano Ziglio

[Qemu-devel] Updated rtl8139 timer interrupt rewrote

2010-02-07 Thread Frediano Ziglio
bought a compatible physical card and it works too). This patch replace previous (I updated just style). Regards Frediano Ziglio diff --git a/hw/rtl8139.c b/hw/rtl8139.c index f04dd54..0d877b7 100644 --- a/hw/rtl8139.c +++ b/hw/rtl8139.c @@ -41,6 +41,10

[Qemu-devel] rtl8139 timer interrupt rewrote

2010-02-05 Thread Frediano Ziglio
bought a compatible physical card and it works too). Regards Frediano Ziglio --- hw/rtl8139.c.orig 2010-01-14 23:17:59.0 +0100 +++ hw/rtl8139.c 2010-02-05 20:25:31.711462995 +0100 @@ -34,41 +34,44 @@ * Implemented Tally Counters, increased VM load/save

<    1   2   3