diff --git a/debian/patches/pve/0032-PVE-Add-PBS-block-driver-to-map-backup-archives-into.patch b/debian/patches/pve/0032-PVE-Add-PBS-block-driver-to-map-backup-archives-into.patch index b9578ba..4c155c8 100644 --- a/debian/patches/pve/0032-PVE-Add-PBS-block-driver-to-map-backup-archives-into.patch +++ b/debian/patches/pve/0032-PVE-Add-PBS-block-driver-to-map-backup-archives-into.patch @@ -15,11 +15,11 @@ Signed-off-by: Wolfgang Bumiller Signed-off-by: Fiona Ebner --- block/meson.build | 2 + - block/pbs.c | 307 +++++++++++++++++++++++++++++++++++++++++++ + block/pbs.c | 310 +++++++++++++++++++++++++++++++++++++++++++ meson.build | 2 +- qapi/block-core.json | 29 ++++ qapi/pragma.json | 1 + - 5 files changed, 340 insertions(+), 1 deletion(-) + 5 files changed, 343 insertions(+), 1 deletion(-) create mode 100644 block/pbs.c diff --git a/block/meson.build b/block/meson.build @@ -37,10 +37,10 @@ index 6bba803f94..1945e04eeb 100644 system_ss.add(files('block-ram-registrar.c')) diff --git a/block/pbs.c b/block/pbs.c new file mode 100644 -index 0000000000..dd72356bd3 +index 0000000000..9112d4dfe6 --- /dev/null +++ b/block/pbs.c -@@ -0,0 +1,307 @@ +@@ -0,0 +1,310 @@ +/* + * Proxmox Backup Server read-only block driver + */ @@ -68,7 +68,7 @@ index 0000000000..dd72356bd3 + +typedef struct { + ProxmoxRestoreHandle *conn; -+ char aid; ++ uint8_t aid; + int64_t length; + + char *repository; @@ -201,12 +201,15 @@ index 0000000000..dd72356bd3 + } + + /* acquire handle and length */ -+ s->aid = proxmox_restore_open_image(s->conn, s->archive, &pbs_error); -+ if (s->aid < 0) { ++ ret = proxmox_restore_open_image(s->conn, s->archive, &pbs_error); ++ if (ret < 0 || ret > UINT8_MAX) { + if (pbs_error && errp) error_setg(errp, "PBS open_image failed: %s", pbs_error); + if (pbs_error) proxmox_backup_free_error(pbs_error); + return -ENODEV; ++ } else { ++ s->aid = ret; + } ++ + s->length = proxmox_restore_get_image_length(s->conn, s->aid, &pbs_error); + if (s->length < 0) { + if (pbs_error && errp) error_setg(errp, "PBS get_image_length failed: %s", pbs_error);