block: Clean up reopen_backing_file() in block/replication.c
commit3c4e964762c7d0292185473657dd2afc0d2d060b
authorAlberto Garcia <berto@igalia.com>
Mon, 12 Nov 2018 14:00:43 +0000 (12 16:00 +0200)
committerKevin Wolf <kwolf@redhat.com>
Fri, 14 Dec 2018 10:55:02 +0000 (14 11:55 +0100)
tree1a68b88c29b924fcb3f1f2102fed3a285ea59c5d
parentdc900c35239bc865df2dff5880eabcd25b974f19
block: Clean up reopen_backing_file() in block/replication.c

This function is used to put the hidden and secondary disks in
read-write mode before launching the backup job, and back in read-only
mode afterwards.

This patch does the following changes:

  - Use an options QDict with the "read-only" option instead of
    passing the changes as flags only.

  - Simplify the code (it was unnecessarily complicated and verbose).

  - Fix a bug due to which the secondary disk was not being put back
    in read-only mode when writable=false (because in this case
    orig_secondary_flags always had the BDRV_O_RDWR flag set).

  - Stop clearing the BDRV_O_INACTIVE flag.

The flags parameter to bdrv_reopen_queue() becomes redundant and we'll
be able to get rid of it in a subsequent patch.

Signed-off-by: Alberto Garcia <berto@igalia.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block/replication.c