[Devel] [PATCH RHEL9 COMMIT] dm-qcow2: Introduce fake_service_qio()
Konstantin Khorenko
khorenko at virtuozzo.com
Thu Mar 24 00:23:58 MSK 2022
The commit is pushed to "branch-rh9-5.14.0-42.vz9.14.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh9-5.14.0-42.vz9.14.4
------>
commit 795b0a89a18a5414d486d2be0b8576148b1b4db0
Author: Kirill Tkhai <ktkhai at virtuozzo.com>
Date: Thu Mar 24 00:23:58 2022 +0300
dm-qcow2: Introduce fake_service_qio()
Signed-off-by: Kirill Tkhai <ktkhai at virtuozzo.com>
Feature: dm-qcow2: block device over QCOW2 files driver
---
drivers/md/dm-qcow2-cmd.c | 2 +-
drivers/md/dm-qcow2-map.c | 5 ++---
drivers/md/dm-qcow2.h | 5 +++++
3 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/drivers/md/dm-qcow2-cmd.c b/drivers/md/dm-qcow2-cmd.c
index 14b633cf3258..45a114c74748 100644
--- a/drivers/md/dm-qcow2-cmd.c
+++ b/drivers/md/dm-qcow2-cmd.c
@@ -74,7 +74,7 @@ static int qcow2_service_iter(struct qcow2_target *tgt, struct qcow2 *qcow2,
break;
}
- /* See fake_merge_qio() and fake_l1cow_qio() */
+ /* See fake_service_qio() */
init_qio(qio, bi_op, qcow2);
qio->flags |= qio_flags|QIO_FREE_ON_ENDIO_FL;
qio->bi_io_vec = &bvec;
diff --git a/drivers/md/dm-qcow2-map.c b/drivers/md/dm-qcow2-map.c
index 5c0bf98ec8ad..4e04505810fc 100644
--- a/drivers/md/dm-qcow2-map.c
+++ b/drivers/md/dm-qcow2-map.c
@@ -993,8 +993,7 @@ static int calc_cluster_map(struct qcow2 *qcow2, struct qio *qio,
loff_t pos;
if (unlikely(start / clu_size != (end - 1) / clu_size &&
- (start != end || (!fake_merge_qio(qio) &&
- !fake_l1cow_qio(qio)))))
+ (start != end || !fake_service_qio(qio))))
goto eio;
if (unlikely(end > qcow2->hdr.size))
goto eio;
@@ -1819,7 +1818,7 @@ static loff_t parse_l2(struct qcow2 *qcow2, struct qcow2_map *map,
l2->index_in_page + 1);
map->ext_l2 = ext_l2;
map->subclus_mask = 0;
- if (!fake_merge_qio(*qio) && !fake_l1cow_qio(*qio))
+ if (!fake_service_qio(*qio))
map->subclus_mask = qio_subclus_mask(qcow2, *qio);
if (WARN_ON_ONCE(all_zeroes || (ext_l2 & (ext_l2 >> 32))))
diff --git a/drivers/md/dm-qcow2.h b/drivers/md/dm-qcow2.h
index f560ea9b3030..794e091ccf97 100644
--- a/drivers/md/dm-qcow2.h
+++ b/drivers/md/dm-qcow2.h
@@ -346,6 +346,11 @@ static inline bool fake_l1cow_qio(struct qio *qio)
(qio->flags & QIO_IS_L1COW_FL));
}
+static inline bool fake_service_qio(struct qio *qio)
+{
+ return fake_merge_qio(qio) || fake_l1cow_qio(qio);
+}
+
static inline bool qcow2_wants_check(struct qcow2_target *tgt)
{
More information about the Devel
mailing list