[pve-devel] [RFC qemu v3 06/34] PVE backup: add target ID in backup state

Fabian Grünbichler f.gruenbichler at proxmox.com
Tue Nov 12 17:46:15 CET 2024


On November 7, 2024 5:51 pm, Fiona Ebner wrote:
> In preparation for allowing multiple backup providers. Each backup
> target can then have its own dirty bitmap and there can be additional
> checks that the current backup state is actually associated to the
> expected target.
> 
> Signed-off-by: Fiona Ebner <f.ebner at proxmox.com>
> ---
> 
> No changes in v3.
> 
>  pve-backup.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/pve-backup.c b/pve-backup.c
> index d931746453..e8031bb89c 100644
> --- a/pve-backup.c
> +++ b/pve-backup.c
> @@ -70,6 +70,7 @@ static struct PVEBackupState {
>      JobTxn *txn;
>      CoMutex backup_mutex;
>      CoMutex dump_callback_mutex;
> +    char *target_id;
>  } backup_state;
>  
>  static void pvebackup_init(void)
> @@ -848,7 +849,7 @@ UuidInfo coroutine_fn *qmp_backup(
>  
>      if (backup_state.di_list) {
>          error_set(errp, ERROR_CLASS_GENERIC_ERROR,
> -                  "previous backup not finished");
> +                  "previous backup by provider '%s' not finished", backup_state.target_id);
>          qemu_co_mutex_unlock(&backup_state.backup_mutex);
>          return NULL;
>      }
> @@ -1100,6 +1101,11 @@ UuidInfo coroutine_fn *qmp_backup(
>      backup_state.vmaw = vmaw;
>      backup_state.pbs = pbs;
>  
> +    if (backup_state.target_id) {
> +        g_free(backup_state.target_id);
> +    }
> +    backup_state.target_id = g_strdup("Proxmox");

if we take this opportunity to also support multiple PBS targets while
we are at it, it might make sense to make this more of a "legacy" value?
or not set it at all here to opt into the legacy behaviour?

> +
>      backup_state.di_list = di_list;
>  
>      uuid_info = g_malloc0(sizeof(*uuid_info));
> -- 
> 2.39.5
> 
> 
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel at lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
> 
> 
> 




More information about the pve-devel mailing list