From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1L6riz-0000pT-1Q for qemu-devel@nongnu.org; Sun, 30 Nov 2008 14:12:57 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1L6rix-0000pG-EU for qemu-devel@nongnu.org; Sun, 30 Nov 2008 14:12:56 -0500 Received: from [199.232.76.173] (port=60920 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L6rix-0000pD-As for qemu-devel@nongnu.org; Sun, 30 Nov 2008 14:12:55 -0500 Received: from savannah.gnu.org ([199.232.41.3]:58065 helo=sv.gnu.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1L6riv-0004FF-Kt for qemu-devel@nongnu.org; Sun, 30 Nov 2008 14:12:55 -0500 Received: from cvs.savannah.gnu.org ([199.232.41.69]) by sv.gnu.org with esmtp (Exim 4.63) (envelope-from ) id 1L6ris-0005Tq-Dw for qemu-devel@nongnu.org; Sun, 30 Nov 2008 19:12:50 +0000 Received: from aurel32 by cvs.savannah.gnu.org with local (Exim 4.63) (envelope-from ) id 1L6ris-0005Tm-5l for qemu-devel@nongnu.org; Sun, 30 Nov 2008 19:12:50 +0000 MIME-Version: 1.0 Errors-To: aurel32 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Aurelien Jarno Message-Id: Date: Sun, 30 Nov 2008 19:12:50 +0000 Subject: [Qemu-devel] [5839] qemu-img: open files with cache=writeback Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Revision: 5839 http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=5839 Author: aurel32 Date: 2008-11-30 19:12:49 +0000 (Sun, 30 Nov 2008) Log Message: ----------- qemu-img: open files with cache=writeback Data integrity is not important in qemu-img, so open the files with cache=writeback. This fixes the performance regression seen with qemu-img since revision 5485, and most particularly with the qcow2 format. Signed-off-by: Aurelien Jarno Revision Links: -------------- http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=5485 Modified Paths: -------------- trunk/qemu-img.c Modified: trunk/qemu-img.c =================================================================== --- trunk/qemu-img.c 2008-11-30 17:54:28 UTC (rev 5838) +++ trunk/qemu-img.c 2008-11-30 19:12:49 UTC (rev 5839) @@ -30,6 +30,9 @@ #include #endif +/* Default to cache=writeback as data integrity is not important for qemu-tcg. */ +#define BRDV_O_FLAGS BDRV_O_CACHE_WB + static void __attribute__((noreturn)) error(const char *fmt, ...) { va_list ap; @@ -186,7 +189,7 @@ } else { drv = NULL; } - if (bdrv_open2(bs, filename, 0, drv) < 0) { + if (bdrv_open2(bs, filename, BRDV_O_FLAGS, drv) < 0) { error("Could not open '%s'", filename); } if (bdrv_is_encrypted(bs)) { @@ -317,7 +320,7 @@ } else { drv = NULL; } - if (bdrv_open2(bs, filename, 0, drv) < 0) { + if (bdrv_open2(bs, filename, BRDV_O_FLAGS, drv) < 0) { error("Could not open '%s'", filename); } ret = bdrv_commit(bs); @@ -691,7 +694,7 @@ } else { drv = NULL; } - if (bdrv_open2(bs, filename, 0, drv) < 0) { + if (bdrv_open2(bs, filename, BRDV_O_FLAGS, drv) < 0) { error("Could not open '%s'", filename); } bdrv_get_format(bs, fmt_name, sizeof(fmt_name));