Re: [Qemu-devel] [PATCH] block: Use bdrv functions to replace file operation in qcow.c

2011-11-21 Thread Paolo Bonzini
On 11/21/2011 12:08 PM, Kevin Wolf wrote: I didn't say this.:-) At least in theory, block devices may not be the only protocols with !has_zero_init. We have only covered raw-posix with this discussion. I would prefer an explicit write of the table to avoid breaking other protocols (though I don'

Re: [Qemu-devel] [PATCH] block: Use bdrv functions to replace file operation in qcow.c

2011-11-21 Thread Kevin Wolf
Am 21.11.2011 11:53, schrieb Stefan Hajnoczi: > On Mon, Nov 21, 2011 at 10:44 AM, Kevin Wolf wrote: >> Am 18.11.2011 15:34, schrieb Stefan Hajnoczi: >>> On Fri, Nov 18, 2011 at 11:10 AM, Paolo Bonzini wrote: On 11/18/2011 11:59 AM, Stefan Hajnoczi wrote: > > +tmp = g_malloc0(size

Re: [Qemu-devel] [PATCH] block: Use bdrv functions to replace file operation in qcow.c

2011-11-21 Thread Stefan Hajnoczi
On Mon, Nov 21, 2011 at 10:44 AM, Kevin Wolf wrote: > Am 18.11.2011 15:34, schrieb Stefan Hajnoczi: >> On Fri, Nov 18, 2011 at 11:10 AM, Paolo Bonzini wrote: >>> On 11/18/2011 11:59 AM, Stefan Hajnoczi wrote: +    tmp = g_malloc0(sizeof(uint64_t)*l1_size); >  +    ret = bdrv_pwrite(

Re: [Qemu-devel] [PATCH] block: Use bdrv functions to replace file operation in qcow.c

2011-11-21 Thread Kevin Wolf
Am 18.11.2011 15:34, schrieb Stefan Hajnoczi: > On Fri, Nov 18, 2011 at 11:10 AM, Paolo Bonzini wrote: >> On 11/18/2011 11:59 AM, Stefan Hajnoczi wrote: >>> >>> +tmp = g_malloc0(sizeof(uint64_t)*l1_size); +ret = bdrv_pwrite(qcow_bs, header_size, tmp, sizeof(uint64_t)*l1_size); >

Re: [Qemu-devel] [PATCH] block: Use bdrv functions to replace file operation in qcow.c

2011-11-18 Thread Stefan Hajnoczi
On Fri, Nov 18, 2011 at 11:10 AM, Paolo Bonzini wrote: > On 11/18/2011 11:59 AM, Stefan Hajnoczi wrote: >> >> +    tmp = g_malloc0(sizeof(uint64_t)*l1_size); >> >  +    ret = bdrv_pwrite(qcow_bs, header_size, tmp, >> > sizeof(uint64_t)*l1_size); >> >  +    g_free(tmp); >> >  +    if (ret != sizeof

Re: [Qemu-devel] [PATCH] block: Use bdrv functions to replace file operation in qcow.c

2011-11-18 Thread Paolo Bonzini
On 11/18/2011 11:59 AM, Stefan Hajnoczi wrote: +tmp = g_malloc0(sizeof(uint64_t)*l1_size); > +ret = bdrv_pwrite(qcow_bs, header_size, tmp, sizeof(uint64_t)*l1_size); > +g_free(tmp); > +if (ret != sizeof(uint64_t)*l1_size) { > +goto exit; > } That means 400 MB of

Re: [Qemu-devel] [PATCH] block: Use bdrv functions to replace file operation in qcow.c

2011-11-18 Thread Stefan Hajnoczi
On Fri, Nov 18, 2011 at 9:12 AM, Li Zhi Hui wrote: > +    tmp = g_malloc0(sizeof(uint64_t)*l1_size); > +    ret = bdrv_pwrite(qcow_bs, header_size, tmp, sizeof(uint64_t)*l1_size); > +    g_free(tmp); > +    if (ret != sizeof(uint64_t)*l1_size) { > +        goto exit; >     } qemu-img create -f qc

[Qemu-devel] [PATCH] block: Use bdrv functions to replace file operation in qcow.c

2011-11-18 Thread Li Zhi Hui
Since common file operation functions lack of error detection and use much more I/O syscalls, so change them to bdrv series functions and reduce I/O request. Signed-off-by: Li Zhi Hui --- block/qcow.c | 42 +++--- 1 files changed, 23 insertions(+), 19 dele