block_stream will not actively flush l2_table_cache,when qemu process exception exit,causing disk data loss
Signed-off-by: Evanzhang <evanzh...@archeros.com> --- block/stream.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/block/stream.c b/block/stream.c index e522bbd..a5e08da 100644 --- a/block/stream.c +++ b/block/stream.c @@ -207,6 +207,12 @@ static int coroutine_fn stream_run(Job *job, Error **errp) } } + /* + * Complete stream_populate,force flush l2_table_cache,to + * avoid unexpected termination of process, l2_table loss + */ + qcow2_cache_flush(bs, ((BDRVQcow2State *)bs->opaque)->l2_table_cache); + /* Do not remove the backing file if an error was there but ignored. */ return error; } -- 2.9.5