[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH v11 03/14] block/backup: improve comment about image
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
[Qemu-block] [PATCH v11 03/14] block/backup: improve comment about image fleecing |
Date: |
Tue, 10 Sep 2019 13:23:21 +0300 |
Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
---
block/backup.c | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/block/backup.c b/block/backup.c
index 62a747b281..56a4bae61e 100644
--- a/block/backup.c
+++ b/block/backup.c
@@ -747,9 +747,18 @@ BlockJob *backup_job_create(const char *job_id,
BlockDriverState *bs,
job->bitmap_mode = bitmap_mode;
/*
- * Set write flags:
- * 1. Detect image-fleecing (and similar) schemes
- * 2. Handle compression
+ * If source is in backing chain of target assume that target is going to
be
+ * used for "image fleecing", i.e. it should represent a kind of snapshot
of
+ * source at backup-start point in time. And target is going to be read by
+ * somebody (for example, used as NBD export) during backup job.
+ *
+ * In this case, we need to add BDRV_REQ_SERIALISING write flag to avoid
+ * intersection of backup writes and third party reads from target,
+ * otherwise reading from target we may occasionally read already updated
by
+ * guest data.
+ *
+ * For more information see commit f8d59dfb40bb and test
+ * tests/qemu-iotests/222
*/
job->write_flags =
(bdrv_chain_contains(target, bs) ? BDRV_REQ_SERIALISING : 0) |
--
2.18.0
- [Qemu-block] [PATCH v11 00/14] backup-top filter driver for backup, Vladimir Sementsov-Ogievskiy, 2019/09/10
- [Qemu-block] [PATCH v11 03/14] block/backup: improve comment about image fleecing,
Vladimir Sementsov-Ogievskiy <=
- [Qemu-block] [PATCH v11 11/14] block/io: refactor wait_serialising_requests, Vladimir Sementsov-Ogievskiy, 2019/09/10
- [Qemu-block] [PATCH v11 09/14] iotests: 257: drop unused Drive.device field, Vladimir Sementsov-Ogievskiy, 2019/09/10
- [Qemu-block] [PATCH v11 02/14] block/backup: split shareable copying part from backup_do_cow, Vladimir Sementsov-Ogievskiy, 2019/09/10
- [Qemu-block] [PATCH v11 06/14] block: move block_copy from block/backup.c to separate file, Vladimir Sementsov-Ogievskiy, 2019/09/10
- [Qemu-block] [PATCH v11 07/14] block: teach bdrv_debug_breakpoint skip filters with backing, Vladimir Sementsov-Ogievskiy, 2019/09/10
- [Qemu-block] [PATCH v11 12/14] block: add lock/unlock range functions, Vladimir Sementsov-Ogievskiy, 2019/09/10
- [Qemu-block] [PATCH v11 01/14] block/backup: fix backup_cow_with_offload for last cluster, Vladimir Sementsov-Ogievskiy, 2019/09/10
- [Qemu-block] [PATCH v11 05/14] block/backup: fix block-comment style, Vladimir Sementsov-Ogievskiy, 2019/09/10
- [Qemu-block] [PATCH v11 08/14] iotests: prepare 124 and 257 bitmap querying for backup-top filter, Vladimir Sementsov-Ogievskiy, 2019/09/10
- [Qemu-block] [PATCH v11 13/14] block: introduce backup-top filter driver, Vladimir Sementsov-Ogievskiy, 2019/09/10