From patchwork Fri Sep 10 10:27:04 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kevin Wolf X-Patchwork-Id: 64373 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id A8FF6B7103 for ; Fri, 10 Sep 2010 20:31:54 +1000 (EST) Received: from localhost ([127.0.0.1]:59982 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ou0tb-0004KV-Dt for incoming@patchwork.ozlabs.org; Fri, 10 Sep 2010 06:31:51 -0400 Received: from [140.186.70.92] (port=36868 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ou0pA-0002oV-Jd for qemu-devel@nongnu.org; Fri, 10 Sep 2010 06:27:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Ou0p9-0000nc-1r for qemu-devel@nongnu.org; Fri, 10 Sep 2010 06:27:16 -0400 Received: from mo-p00-ob.rzone.de ([81.169.146.160]:57171) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Ou0p8-0000n4-Nd for qemu-devel@nongnu.org; Fri, 10 Sep 2010 06:27:14 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; t=1284114433; l=1186; s=domk; d=kevin-wolf.de; h=References:In-Reply-To:Date:Subject:Cc:To:From:X-RZG-CLASS-ID: X-RZG-AUTH; bh=iW73lmdq+eaocFUa01MX51snkb4=; b=ln93a7vHQLThGd8whBiMvNB9KDRPLccuGeQIYKDAR4aysmC3AU8F6BM5Fdtn/42FlS8 KLFanMBvqFjwK7gB0MGf10/8LTKnaBsthyNZ0c+ssUgcg7RbCT1xaA/qpDV538zO/XaXU JQXSgNkLjz95GbLEkVvOwaGMiinvn7JgLz4= X-RZG-AUTH: :IW0NeWCjfulXIi4BrEKXhgYy2jE0QmIac4DjsXgwMU4hx49MjW4BbKOvd+vs6JN7Zw== X-RZG-CLASS-ID: mo00 Received: from localhost.localdomain (pD9E4C0A3.dip.t-dialin.net [217.228.192.163]) by post.strato.de (mrclete mo46) (RZmta 23.5) with ESMTP id D041a0m8AA9Qn7 ; Fri, 10 Sep 2010 12:27:12 +0200 (MEST) From: Kevin Wolf To: qemu-devel@nongnu.org Date: Fri, 10 Sep 2010 12:27:04 +0200 Message-Id: <1284114424-11960-4-git-send-email-mail@kevin-wolf.de> X-Mailer: git-send-email 1.6.0.2 In-Reply-To: <1284114424-11960-1-git-send-email-mail@kevin-wolf.de> References: <1284114424-11960-1-git-send-email-mail@kevin-wolf.de> X-detected-operating-system: by eggs.gnu.org: Solaris 10 (beta) Cc: Kevin Wolf Subject: [Qemu-devel] [PATCH 3/3] vvfat: Use cache=unsafe X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org The qcow file used for write support in vvfat is a temporary file, so we can use cache=unsafe there. Without this, write support is just too slow to be of any use. Signed-off-by: Kevin Wolf --- block/vvfat.c | 14 ++++++++++---- 1 files changed, 10 insertions(+), 4 deletions(-) diff --git a/block/vvfat.c b/block/vvfat.c index 0772037..53e57bf 100644 --- a/block/vvfat.c +++ b/block/vvfat.c @@ -2788,6 +2788,7 @@ static int enable_write_target(BDRVVVFATState *s) { BlockDriver *bdrv_qcow; QEMUOptionParameter *options; + int ret; int size = sector2cluster(s, s->sector_count); s->used_clusters = calloc(size, 1); @@ -2803,11 +2804,16 @@ static int enable_write_target(BDRVVVFATState *s) if (bdrv_create(bdrv_qcow, s->qcow_filename, options) < 0) return -1; + s->qcow = bdrv_new(""); - if (s->qcow == NULL || - bdrv_open(s->qcow, s->qcow_filename, BDRV_O_RDWR, bdrv_qcow) < 0) - { - return -1; + if (s->qcow == NULL) { + return -1; + } + + ret = bdrv_open(s->qcow, s->qcow_filename, + BDRV_O_RDWR | BDRV_O_CACHE_WB | BDRV_O_NO_FLUSH, bdrv_qcow); + if (ret < 0) { + return ret; } #ifndef _WIN32