[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [Qemu-devel] callout to *file in bdrv_co_get_block_stat
From: |
Peter Lieven |
Subject: |
Re: [Qemu-block] [Qemu-devel] callout to *file in bdrv_co_get_block_status |
Date: |
Fri, 31 Mar 2017 09:55:31 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 |
Am 27.03.2017 um 17:06 schrieb Paolo Bonzini:
>
> On 27/03/2017 15:21, Peter Lieven wrote:
>>>> I stumbled across the issue with lseek on a tmpfs because in the
>>>> build process for our templates
>>>> I temporarily have vmdks on a tmpfs and it takes ages before qemu-img
>>>> convert starts to run (it iterates
>>>> over every 64kb cluster with that callout to find_allocation and for
>>>> some reason lseek is very slow on tmpfs).
>>> Ok, thanks. Perhaps it's worth benchmarking tmpfs specifically. Apart
>>> from the system call overhead (which does not really matter if you're
>>> going to do a read), lseek on other filesystems should not be any slower
>>> than read.
>> Okay, but the even the read is not really necessary if the metadata is
>> correct?
> Yeah, what I mean is:
>
> - if you're going to do a read of non-zero blocks, the lseek you do
> before reading those blocks should not matter.
>
> - if you're going to skip the read of non-zero blocks, the lseek you do
> is always going to be faster than reading them and then checking with
> buffer_is_nonzero.
>
>> Would it be an idea to introduce an inverse flag live BDRV_BLOCK_NOT_ZERO
>> for cases where we know that there is really DATA and thus can avoid the
>> second callout?
> How would you know that a block is nonzero?
I would trust the metadata. At least for VMDK and QCOW2v3.
Bad idea?
Peter
- Re: [Qemu-block] [Qemu-devel] callout to *file in bdrv_co_get_block_status, (continued)
- Re: [Qemu-block] [Qemu-devel] callout to *file in bdrv_co_get_block_status, Peter Lieven, 2017/03/20
- Re: [Qemu-block] [Qemu-devel] callout to *file in bdrv_co_get_block_status, Peter Lieven, 2017/03/20
- Re: [Qemu-block] [Qemu-devel] callout to *file in bdrv_co_get_block_status, Peter Lieven, 2017/03/20
- Re: [Qemu-block] [Qemu-devel] callout to *file in bdrv_co_get_block_status, Paolo Bonzini, 2017/03/20
- Re: [Qemu-block] [Qemu-devel] callout to *file in bdrv_co_get_block_status, Peter Lieven, 2017/03/20
- Re: [Qemu-block] [Qemu-devel] callout to *file in bdrv_co_get_block_status, Paolo Bonzini, 2017/03/20
- Re: [Qemu-block] [Qemu-devel] callout to *file in bdrv_co_get_block_status, Peter Lieven, 2017/03/20
- Re: [Qemu-block] [Qemu-devel] callout to *file in bdrv_co_get_block_status, Paolo Bonzini, 2017/03/20
- Re: [Qemu-block] [Qemu-devel] callout to *file in bdrv_co_get_block_status, Peter Lieven, 2017/03/27
- Re: [Qemu-block] [Qemu-devel] callout to *file in bdrv_co_get_block_status, Paolo Bonzini, 2017/03/27
- Re: [Qemu-block] [Qemu-devel] callout to *file in bdrv_co_get_block_status,
Peter Lieven <=
- Re: [Qemu-block] [Qemu-devel] callout to *file in bdrv_co_get_block_status, Paolo Bonzini, 2017/03/31
- Re: [Qemu-block] callout to *file in bdrv_co_get_block_status, Fam Zheng, 2017/03/17
- Re: [Qemu-block] callout to *file in bdrv_co_get_block_status, Paolo Bonzini, 2017/03/17
- Re: [Qemu-block] callout to *file in bdrv_co_get_block_status, Peter Lieven, 2017/03/18