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

[Xen-changelog] [qemu-xen-unstable] qemu-xen: disable buffering on the save file for stubdoms



commit 6a6ffc07f465d5abc94b45ce6fe389369d1395ab
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date:   Fri Jan 21 18:01:53 2011 +0000

    qemu-xen: disable buffering on the save file for stubdoms
    
    We need to issue reads with the exact number of bytes to read the
    qemu-xen save file, and to do that this patch disables buffering on all
    the savevm reads/writes for stubdoms.
    
    [This is pretty horrid; hopefully there will be better solution for 4.2 
-iwj]
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
---
 savevm.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/savevm.c b/savevm.c
index b66f7e2..71a57eb 100644
--- a/savevm.c
+++ b/savevm.c
@@ -133,7 +133,13 @@ void qemu_announce_self(void)
 /***********************************************************/
 /* savevm/loadvm support */
 
+#ifdef CONFIG_STUBDOM
+/* disable buffering for stubdoms because we need to issue reads for the
+ * exact number of bytes */
+#define IO_BUF_SIZE 1
+#else
 #define IO_BUF_SIZE 32768
+#endif
 
 struct QEMUFile {
     QEMUFilePutBufferFunc *put_buffer;
@@ -303,6 +309,10 @@ QEMUFile *qemu_fopen(const char *filename, const char 
*mode)
     if (!s->outfile)
         goto fail;
 
+#ifdef CONFIG_STUBDOM
+    setvbuf(s->outfile, NULL, _IONBF, 0);
+#endif
+
     if (!strcmp(mode, "wb"))
         return qemu_fopen_ops(s, file_put_buffer, NULL, file_close, NULL);
     else if (!strcmp(mode, "rb"))
--
generated by git-patchbot for /home/xen/git/qemu-xen-unstable.git

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.