From: Fiona Ebner <f.ebner@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH qemu] savevm async IO channel: channel writev: fix return value in error case
Date: Mon, 17 Oct 2022 09:18:33 +0200 [thread overview]
Message-ID: <20221017071833.73771-1-f.ebner@proxmox.com> (raw)
The documentation in include/io/channel.h states that -1 or
QIO_CHANNEL_ERR_BLOCK should be returned upon error. Simply passing
along the return value from the blk-functions has the potential to
confuse the call sides. Non-blocking mode is not implemented
currently, so -1 it is.
The "return ret" was mistakenly left over from the previous
QEMUFileOps based implementation. Also, use error_setg_errno(), since
the blk(_co)_p{readv,writev} functions return errno codes.
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
---
Similar to this patch for channel-block.c upstream:
https://lists.nongnu.org/archive/html/qemu-devel/2022-10/msg02057.html
...-IOChannel-implementation-for-savevm-async.patch | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/debian/patches/pve/0016-PVE-add-IOChannel-implementation-for-savevm-async.patch b/debian/patches/pve/0016-PVE-add-IOChannel-implementation-for-savevm-async.patch
index e48eb9d..a1073bd 100644
--- a/debian/patches/pve/0016-PVE-add-IOChannel-implementation-for-savevm-async.patch
+++ b/debian/patches/pve/0016-PVE-add-IOChannel-implementation-for-savevm-async.patch
@@ -15,19 +15,19 @@ Additionally, allows tracking the current position from the outside
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
---
- migration/channel-savevm-async.c | 181 +++++++++++++++++++++++++++++++
+ migration/channel-savevm-async.c | 182 +++++++++++++++++++++++++++++++
migration/channel-savevm-async.h | 51 +++++++++
migration/meson.build | 1 +
- 3 files changed, 233 insertions(+)
+ 3 files changed, 234 insertions(+)
create mode 100644 migration/channel-savevm-async.c
create mode 100644 migration/channel-savevm-async.h
diff --git a/migration/channel-savevm-async.c b/migration/channel-savevm-async.c
new file mode 100644
-index 0000000000..efea3842cf
+index 0000000000..06d5484778
--- /dev/null
+++ b/migration/channel-savevm-async.c
-@@ -0,0 +1,181 @@
+@@ -0,0 +1,182 @@
+/*
+ * QIO Channel implementation to be used by savevm-async QMP calls
+ */
@@ -96,7 +96,7 @@ index 0000000000..efea3842cf
+ // returns 0 on success
+ ret = blk_preadv(be, *saioc->bs_pos, size, &qiov, 0);
+ if (ret < 0) {
-+ error_setg(errp, "blk_preadv returned %d", ret);
++ error_setg_errno(errp, -ret, "blk_preadv failed");
+ return -1;
+ }
+
@@ -129,7 +129,8 @@ index 0000000000..efea3842cf
+ }
+
+ if (ret < 0) {
-+ return ret;
++ error_setg_errno(errp, -ret, "blk(_co)_pwritev failed");
++ return -1;
+ }
+
+ *saioc->bs_pos += qiov.size;
--
2.30.2
next reply other threads:[~2022-10-17 7:18 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-17 7:18 Fiona Ebner [this message]
2022-10-18 13:48 ` [pve-devel] applied: " Wolfgang Bumiller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221017071833.73771-1-f.ebner@proxmox.com \
--to=f.ebner@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox