diff options
author | Kevin Wolf <kwolf@redhat.com> | 2013-03-26 17:49:58 +0100 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2013-03-28 11:52:43 +0100 |
commit | 65eb2e35c07632eb5d26f15a57461e321bacb883 (patch) | |
tree | f12c372eedb0309737bc1bb573f94531464a892d /block/qcow2.h | |
parent | d9d74f4177af59bec23baa480d640709f56df0aa (diff) |
qcow2: Change handle_dependency to byte granularity
This is a more precise description of what really constitutes a
dependency. The behaviour doesn't change at this point because the COW
area of the old request is still aligned to cluster boundaries and
therefore an overlap is detected wheneven the requests touch any part of
the same cluster.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'block/qcow2.h')
-rw-r--r-- | block/qcow2.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/block/qcow2.h b/block/qcow2.h index 0940b1b3e8..a99d51b6a1 100644 --- a/block/qcow2.h +++ b/block/qcow2.h @@ -307,6 +307,17 @@ static inline bool qcow2_need_accurate_refcounts(BDRVQcowState *s) return !(s->incompatible_features & QCOW2_INCOMPAT_DIRTY); } +static inline uint64_t l2meta_cow_start(QCowL2Meta *m) +{ + return m->offset + m->cow_start.offset; +} + +static inline uint64_t l2meta_cow_end(QCowL2Meta *m) +{ + return m->offset + m->cow_end.offset + + (m->cow_end.nb_sectors << BDRV_SECTOR_BITS); +} + // FIXME Need qcow2_ prefix to global functions /* qcow2.c functions */ |