Commit 68dba0bf authored by Kevin Wolf's avatar Kevin Wolf
Browse files

qcow2: Restore L1 entry on l2_allocate failure



If writing the L1 table to disk failed, we need to restore its old content in
memory to avoid inconsistencies.

Reported-by: default avatarJuan Quintela <quintela@redhat.com>
Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
parent dd5b0d71
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -285,6 +285,7 @@ static int l2_allocate(BlockDriverState *bs, int l1_index, uint64_t **table)
    return 0;

fail:
    s->l1_table[l1_index] = old_l2_offset;
    qcow2_l2_cache_reset(bs);
    return ret;
}