qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Very slow finding extents in QCOW2-backed nbd


From: Tim Smith
Subject: Re: [Qemu-devel] Very slow finding extents in QCOW2-backed nbd
Date: Mon, 28 Jan 2019 16:50:31 +0000

On Monday, 28 January 2019 14:41:35 GMT Vladimir Sementsov-Ogievskiy wrote:
> 28.01.2019 14:58, Tim Smith wrote:
> 
> > Hi all, I have a question about the intent of the last call to
> > bdrv_co_block_status() in bdrv_co_block_status(), in block/io.c about
> > line
> > 2195, which looks like this:
> > 
> > 
> >          ret2 = bdrv_co_block_status(local_file, want_zero, local_map,
> >          
> >                                      *pnum, &file_pnum, NULL, NULL);
> >          
> >          if (ret2 >= 0) {
> >          
> >              /* Ignore errors.  This is just providing extra information,
> >              it
> >              
> >               * is useful but not necessary.
> >               */
> 
> 
> Hi Tim!
> 
> The question is highly discussed now on list, in short: yes it's a problem,
> and, I hope, we'll soon reach a consensus about how to finally fix it. 
> This second block_status request is needed when we have qcow2 image with
> metadata preallocation, which means that qcow2 data clusters are actually
> backed by holes on filesystem level.
> 
> You can follow the discussion under the following threads:
> 
> initial discussion:
> https://lists.gnu.org/archive/html/qemu-devel/2018-12/msg05749.html
> 
> solutions:
> 
> cache lseek results, by Kevin:
> https://lists.gnu.org/archive/html/qemu-devel/2019-01/msg06271.html
> 
> detect preallocation, and don't do second block_status for not
> preallocated, my last try:
> https://lists.gnu.org/archive/html/qemu-devel/2019-01/msg06598.html

Thanks, I'll keep an eye on these. My use-case does not require preallocation 
so I'll carry a patch for a bit and see how it works out.

-- 
Tim Smith <address@hidden>





reply via email to

[Prev in Thread] Current Thread [Next in Thread]