From patchwork Wed Jun 19 11:44:21 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kevin Wolf X-Patchwork-Id: 252565 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 1F0A32C016F for ; Wed, 19 Jun 2013 21:50:13 +1000 (EST) Received: from localhost ([::1]:59166 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UpGtv-0008Ir-91 for incoming@patchwork.ozlabs.org; Wed, 19 Jun 2013 07:50:11 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60102) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UpGoV-0008WQ-LO for qemu-devel@nongnu.org; Wed, 19 Jun 2013 07:44:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UpGoT-0001PG-Fv for qemu-devel@nongnu.org; Wed, 19 Jun 2013 07:44:35 -0400 Received: from mx1.redhat.com ([209.132.183.28]:18628) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UpGoT-0001Oz-5D for qemu-devel@nongnu.org; Wed, 19 Jun 2013 07:44:33 -0400 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r5JBiWkj007469 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 19 Jun 2013 07:44:32 -0400 Received: from dhcp-200-207.str.redhat.com (ovpn-116-64.ams2.redhat.com [10.36.116.64]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r5JBiNcs027594; Wed, 19 Jun 2013 07:44:31 -0400 From: Kevin Wolf To: qemu-devel@nongnu.org Date: Wed, 19 Jun 2013 13:44:21 +0200 Message-Id: <1371642261-18513-6-git-send-email-kwolf@redhat.com> In-Reply-To: <1371642261-18513-1-git-send-email-kwolf@redhat.com> References: <1371642261-18513-1-git-send-email-kwolf@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.25 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 209.132.183.28 Cc: kwolf@redhat.com, stefanha@redhat.com Subject: [Qemu-devel] [PATCH v2 5/5] block: Always enable discard on the protocol level X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Turning on discard options in qcow2 doesn't help a lot when the discard requests that it issues are thrown away by the raw-posix layer. This patch always enables discard functionality on the protocol level so that it's the image format's responsibility to send (or not) discard requests. Requests sent by the guest will be allowed or ignored by the top level BlockDriverState, which depends on the discard=... option like before. In particular, this means that even without specifying options, the qcow2 default of discarding deleted snapshots actually takes effect now, both for qemu and qemu-img. Signed-off-by: Kevin Wolf --- block.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block.c b/block.c index b88ad2f..8e77d46 100644 --- a/block.c +++ b/block.c @@ -1045,7 +1045,7 @@ int bdrv_open(BlockDriverState *bs, const char *filename, QDict *options, extract_subqdict(options, &file_options, "file."); ret = bdrv_file_open(&file, filename, file_options, - bdrv_open_flags(bs, flags)); + bdrv_open_flags(bs, flags | BDRV_O_UNMAP)); if (ret < 0) { goto fail; }