qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v3 11/17] migration/qemu-file: Fix qemu_ftell() for non-writable


From: nikita . lapshin
Subject: [PATCH v3 11/17] migration/qemu-file: Fix qemu_ftell() for non-writable file
Date: Thu, 16 Jun 2022 13:28:05 +0300

From: Nikita Lapshin <nikita.lapshin@openvz.org>

qemu_ftell() will return wrong value for non-writable QEMUFile.
This happens due to call qemu_fflush() inside qemu_ftell(), this
function won't flush if file is readable.

Signed-off-by: Nikita Lapshin <nikita.lapshin@openvz.org>
---
 migration/qemu-file.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/migration/qemu-file.c b/migration/qemu-file.c
index 1479cddad9..53ccef80ac 100644
--- a/migration/qemu-file.c
+++ b/migration/qemu-file.c
@@ -663,7 +663,8 @@ int64_t qemu_ftell_fast(QEMUFile *f)
 int64_t qemu_ftell(QEMUFile *f)
 {
     qemu_fflush(f);
-    return f->pos;
+    /* Consider that qemu_fflush() won't work if file is non-writable */
+    return f->pos + f->buf_index;
 }
 
 int qemu_file_rate_limit(QEMUFile *f)
-- 
2.31.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]