|
@@ -122,6 +122,12 @@ wait:
|
|
* known-unallocated area [sector_num, sector_num+n). */
|
|
* known-unallocated area [sector_num, sector_num+n). */
|
|
ret = bdrv_co_is_allocated_above(bs->backing_hd, base,
|
|
ret = bdrv_co_is_allocated_above(bs->backing_hd, base,
|
|
sector_num, n, &n);
|
|
sector_num, n, &n);
|
|
|
|
+
|
|
|
|
+ /* Finish early if end of backing file has been reached */
|
|
|
|
+ if (ret == 0 && n == 0) {
|
|
|
|
+ n = end - sector_num;
|
|
|
|
+ }
|
|
|
|
+
|
|
copy = (ret == 1);
|
|
copy = (ret == 1);
|
|
}
|
|
}
|
|
trace_stream_one_iteration(s, sector_num, n, ret);
|
|
trace_stream_one_iteration(s, sector_num, n, ret);
|