On 01/26/2015 08:00 AM, Max Reitz wrote: > 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 s/naturally/natural/ > 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. > > Signed-off-by: Max Reitz > --- > block/block-backend.c | 34 ++++++++++++++++++++++++++++++++++ > include/sysemu/block-backend.h | 3 +++ > 2 files changed, 37 insertions(+) > Reviewed-by: Eric Blake -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org