[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 3/4] mirror: finish earlier on error
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [PULL 3/4] mirror: finish earlier on error |
Date: |
Mon, 8 Aug 2016 13:52:31 +0200 |
From: Vladimir Sementsov-Ogievskiy <address@hidden>
Stop to produce new async copy requests from mirror_iteration if
critical error (error action = BLOCK_ERROR_ACTION_REPORT) detected.
Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
---
block/mirror.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/block/mirror.c b/block/mirror.c
index d6034f5..e0b3f41 100644
--- a/block/mirror.c
+++ b/block/mirror.c
@@ -419,6 +419,10 @@ static uint64_t coroutine_fn
mirror_iteration(MirrorBlockJob *s)
mirror_wait_for_io(s);
}
+ if (s->ret < 0) {
+ return 0;
+ }
+
mirror_clip_sectors(s, sector_num, &io_sectors);
switch (mirror_method) {
case MIRROR_METHOD_COPY:
--
1.8.3.1