QMP backup: use correct errno when getting blockdrive length fails
di->size would only be set later. The errno is minus the return value from the function. Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
This commit is contained in:
parent
eee064d954
commit
1688b43738
@ -501,7 +501,7 @@ index 0000000000..1dda8b7d8f
|
|||||||
+#endif /* PROXMOX_BACKUP_CLIENT_H */
|
+#endif /* PROXMOX_BACKUP_CLIENT_H */
|
||||||
diff --git a/pve-backup.c b/pve-backup.c
|
diff --git a/pve-backup.c b/pve-backup.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000..3d28975eaa
|
index 0000000000..6af212b9b4
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/pve-backup.c
|
+++ b/pve-backup.c
|
||||||
@@ -0,0 +1,956 @@
|
@@ -0,0 +1,956 @@
|
||||||
@ -1134,7 +1134,7 @@ index 0000000000..3d28975eaa
|
|||||||
+
|
+
|
||||||
+ ssize_t size = bdrv_getlength(di->bs);
|
+ ssize_t size = bdrv_getlength(di->bs);
|
||||||
+ if (size < 0) {
|
+ if (size < 0) {
|
||||||
+ error_setg_errno(task->errp, -di->size, "bdrv_getlength failed");
|
+ error_setg_errno(task->errp, -size, "bdrv_getlength failed");
|
||||||
+ goto err;
|
+ goto err;
|
||||||
+ }
|
+ }
|
||||||
+ di->size = size;
|
+ di->size = size;
|
||||||
|
@ -116,7 +116,7 @@ index 4ce7bc0b5e..0923037dec 100644
|
|||||||
static void proxmox_backup_schedule_wake(void *data) {
|
static void proxmox_backup_schedule_wake(void *data) {
|
||||||
CoCtxData *waker = (CoCtxData *)data;
|
CoCtxData *waker = (CoCtxData *)data;
|
||||||
diff --git a/pve-backup.c b/pve-backup.c
|
diff --git a/pve-backup.c b/pve-backup.c
|
||||||
index fa9c6c4493..109498eaf9 100644
|
index 5662f48b72..e4fe1b601d 100644
|
||||||
--- a/pve-backup.c
|
--- a/pve-backup.c
|
||||||
+++ b/pve-backup.c
|
+++ b/pve-backup.c
|
||||||
@@ -354,7 +354,7 @@ static void job_cancel_bh(void *opaque) {
|
@@ -354,7 +354,7 @@ static void job_cancel_bh(void *opaque) {
|
||||||
@ -267,8 +267,8 @@ index fa9c6c4493..109498eaf9 100644
|
|||||||
|
|
||||||
ssize_t size = bdrv_getlength(di->bs);
|
ssize_t size = bdrv_getlength(di->bs);
|
||||||
if (size < 0) {
|
if (size < 0) {
|
||||||
- error_setg_errno(task->errp, -di->size, "bdrv_getlength failed");
|
- error_setg_errno(task->errp, -size, "bdrv_getlength failed");
|
||||||
+ error_setg_errno(errp, -di->size, "bdrv_getlength failed");
|
+ error_setg_errno(errp, -size, "bdrv_getlength failed");
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
di->size = size;
|
di->size = size;
|
||||||
|
Loading…
Reference in New Issue
Block a user