On 2013-09-20 10:37, Max Reitz wrote:
This series changes the way of selecting what metadata overlap checks to
perform from (currently) using a macro to using a variable contained in
BDRVQcowState which can be configured at runtime through several command
line options.
Although this does not seem necessary anymore regarding performance
(because I could not find any performance hits using cached overlap
checks), it seems cleaner to me this way.
This series depends on:
- qcow2: Correct snapshots size for overlap check
Max Reitz (6):
qcow2: Use negated overflow check mask
qcow2: Make overlap check mask variable
qcow2: Add overlap-check options
qcow2: Array assigning options to OL check bits
qcow2: Add more overlap check bitmask macros
qcow2: Evaluate overlap check options
block/qcow2-cache.c | 8 ++---
block/qcow2-cluster.c | 16 ++++-----
block/qcow2-refcount.c | 22 ++++++------
block/qcow2-snapshot.c | 12 +++----
block/qcow2.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++---
block/qcow2.h | 30 ++++++++++++----
6 files changed, 137 insertions(+), 44 deletions(-)
Ping – does anyone have comments on this series?
It doesn't really seem to be required, since the current default setting
is fast enough (although I still have to do a performance test regarding
the host CPU usage). However, this series introduces a cleaner interface
to the overlap checks besides the option to change the overlap checks at
startup (which isn't just useful to users, but also a requirement for
I/O tests on overlap checks on inactive L1 tables).
Max