qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PULL 21/41] block/stream: Don't stream unbacked devices


From: Kevin Wolf
Subject: [Qemu-devel] [PULL 21/41] block/stream: Don't stream unbacked devices
Date: Fri, 29 Nov 2013 17:45:36 +0100

From: Max Reitz <address@hidden>

If a block device is unbacked, a streaming blockjob should immediately
finish instead of beginning to try to stream, then noticing the backing
file does not contain even the first sector (since it does not exist)
and then finishing normally.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Wenchao Xia <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
---
 block/stream.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/block/stream.c b/block/stream.c
index 694fd42..46bec7d 100644
--- a/block/stream.c
+++ b/block/stream.c
@@ -88,6 +88,11 @@ static void coroutine_fn stream_run(void *opaque)
     int n = 0;
     void *buf;
 
+    if (!bs->backing_hd) {
+        block_job_completed(&s->common, 0);
+        return;
+    }
+
     s->common.len = bdrv_getlength(bs);
     if (s->common.len < 0) {
         block_job_completed(&s->common, s->common.len);
-- 
1.8.1.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]