mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 09:43:56 -06:00
block: add ability to specify list of blockdevs during snapshot
When running snapshot operations, there are various rules for which blockdevs are included/excluded. While this provides reasonable default behaviour, there are scenarios that are not well handled by the default logic. Some of the conditions do not have a single correct answer. Thus there needs to be a way for the mgmt app to provide an explicit list of blockdevs to perform snapshots across. This can be achieved by passing a list of node names that should be used. Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20210204124834.774401-5-berrange@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
This commit is contained in:
parent
f61fe11aa6
commit
cf3a74c94f
6 changed files with 159 additions and 63 deletions
|
@ -148,7 +148,7 @@ static char *replay_find_nearest_snapshot(int64_t icount,
|
|||
|
||||
*snapshot_icount = -1;
|
||||
|
||||
bs = bdrv_all_find_vmstate_bs(NULL);
|
||||
bs = bdrv_all_find_vmstate_bs(false, NULL, NULL);
|
||||
if (!bs) {
|
||||
goto fail;
|
||||
}
|
||||
|
@ -159,7 +159,7 @@ static char *replay_find_nearest_snapshot(int64_t icount,
|
|||
aio_context_release(aio_context);
|
||||
|
||||
for (i = 0; i < nb_sns; i++) {
|
||||
if (bdrv_all_find_snapshot(sn_tab[i].name, NULL) == 0) {
|
||||
if (bdrv_all_find_snapshot(sn_tab[i].name, false, NULL, NULL) == 0) {
|
||||
if (sn_tab[i].icount != -1ULL
|
||||
&& sn_tab[i].icount <= icount
|
||||
&& (!nearest || nearest->icount < sn_tab[i].icount)) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue