From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42547) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y1crx-0000Eo-R8 for qemu-devel@nongnu.org; Thu, 18 Dec 2014 10:20:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y1crr-000524-NW for qemu-devel@nongnu.org; Thu, 18 Dec 2014 10:20:01 -0500 Received: from mx1.redhat.com ([209.132.183.28]:43589) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y1crr-00051m-FP for qemu-devel@nongnu.org; Thu, 18 Dec 2014 10:19:55 -0500 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id sBIFJtVA016307 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Thu, 18 Dec 2014 10:19:55 -0500 Date: Thu, 18 Dec 2014 16:19:52 +0100 From: Kevin Wolf Message-ID: <20141218151952.GE25902@noname.redhat.com> References: <1418304053-15140-1-git-send-email-mreitz@redhat.com> <1418304053-15140-3-git-send-email-mreitz@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1418304053-15140-3-git-send-email-mreitz@redhat.com> Subject: Re: [Qemu-devel] [PATCH 02/14] block: Add blk_new_open() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Max Reitz Cc: qemu-devel@nongnu.org, Stefan Hajnoczi , Markus Armbruster Am 11.12.2014 um 14:20 hat Max Reitz geschrieben: > blk_new_with_bs() creates a BlockBackend with an empty BlockDriverState > attached to it. Empty BDSs are not nice, therefore add an alternative > function which combines blk_new_with_bs() with bdrv_open(). > > Note: In contrast to bdrv_open() which takes a BlockDriver parameter, > blk_new_open() does not take such a parameter. This is because > bdrv_open() opens a BlockDriverState, therefore it is naturally to be > able to set the BlockDriver for that BDS. The fact that bdrv_open() can > open more than a single BDS is merely some form of a byproduct. > > blk_new_open() on the other hand is intended to be used to create a > whole tree of BlockDriverStates. Therefore, setting a single BlockDriver > does not make much sense. Instead, the drivers to be used for each of > the nodes must be configured through the "options" QDict; including the > driver of the root BDS. This is an interesting point. I generally agree with your reasoning, but if we did things right, the same would apply to filename and flags as well. But we don't, so we can't remove them now. I'm actually surprised that leaving out the driver option seem to work well enough. Should at least a TODO be left here for removing filename and flags? Kevin