qemu-block
[Top][All Lists]
Advanced

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

Re: [Qemu-block] [PATCH v5 14/38] block: Remove wr_highest_sector from B


From: Kevin Wolf
Subject: Re: [Qemu-block] [PATCH v5 14/38] block: Remove wr_highest_sector from BlockAcctStats
Date: Mon, 21 Sep 2015 09:57:21 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

Am 18.09.2015 um 18:59 hat Eric Blake geschrieben:
> On 09/18/2015 09:22 AM, Max Reitz wrote:
> > BlockAcctStats contains statistics about the data transferred from and
> > to the device; wr_highest_sector does not fit in with the rest.
> > 
> > Furthermore, those statistics are supposed to be specific for a certain
> > device and not necessarily for a BDS (see the comment above
> > bdrv_get_stats()); on the other hand, wr_highest_sector may be a rather
> > important information to know for each BDS. When BlockAcctStats is
> > finally removed from the BDS, we will want to keep wr_highest_sector in
> > the BDS.
> > 
> > Finally, wr_highest_sector is renamed to wr_highest_offset and given the
> > appropriate meaning. Externally, it is represented as an offset so there
> > is no point in doing something different internally. Its definition is
> > changed to match that in qapi/block-core.json which is "the offset after
> > the greatest byte written to". Doing so should not cause any harm since
> > if external programs tried to calculate the volume usage by
> > (wr_highest_offset + 512) / volume_size, after this patch they will just
> > assume the volume to be full slightly earlier than before.
> > 
> > Signed-off-by: Max Reitz <address@hidden>
> > Reviewed-by: Eric Blake <address@hidden>
> > Reviewed-by: Alberto Garcia <address@hidden>
> 
> Still holds, but...
> 
> > +++ b/qmp-commands.hx
> > @@ -2481,8 +2481,8 @@ Each json-object contain the following:
> >      - "wr_total_time_ns": total time spend on writes in nano-seconds 
> > (json-int)
> >      - "rd_total_time_ns": total time spend on reads in nano-seconds 
> > (json-int)
> >      - "flush_total_time_ns": total time spend on cache flushes in 
> > nano-seconds (json-int)
> > -    - "wr_highest_offset": Highest offset of a sector written since the
> > -                           BlockDriverState has been opened (json-int)
> > +    - "wr_highest_offset": The offset after the greatest byte written to 
> > the
> > +                           BlockDriverState since it has been opened 
> > (json-int)
> 
> ...someday, I'd really like to have this stat show as non-zero even when
> first opening the device (before writing to it). Right now, you have no
> clue how full a backing device is prior to starting a block-commit; you
> have to start writing to it to get a feel for its current usage.

With which value would it start? You don't want the file/device size
because for block devices that's more than is actually used yet.

What you really want to know is a number for the parent node, which
isn't readily available for qcow2 (you would have to scan the refcounts
in the last refcount block on startup) and doesn't really exist for most
other formats (very few of them can be used on block devices, most rely
on the file size).

Kevin

Attachment: pgp1ZDJOaejFw.pgp
Description: PGP signature


reply via email to

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