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

Reply via email to