Am 26.01.2015 um 16:00 hat Max Reitz geschrieben: > This series removes the "growable" field from the BlockDriverState > object. Its use was to clamp guest requests against the limits of the > BDS; however, this can now be done more easily by moving those checks > into the BlockBackend functions. > > In a future series, "growable" may be reintroduced (maybe with a > different name); it will then signify whether a BDS is able to grow (in > contrast to the current "growable", which signifies whether it is > allowed to). Maybe I will add it to the BlockDriver instead of the BDS, > though. > > To be able to remove that field, qemu-io needs to be converted to > BlockBackend, which is done by this series as well. While working on > that I decided to convert blk_new_with_bs()+bdrv_open() to > blk_new_open(). I was skeptical about that decision at first, but it > seems good now that I was able to replace nearly every blk_new_with_bs() > call by blk_new_open(). In a future series I may try to convert some > remaining bdrv_open() calls to blk_new_open() as well. (And, in fact, in > a future series I *will* replace the last remaining blk_new_with_bs() > outside of blk_new_open() by blk_new_open().) > > Finally, the question needs to be asked: If, after this series, every > BDS is allowed to grow, are there any users which do not use BB, but > should still be disallowed from reading/writing beyond a BDS's limits? > The only users I could see were the block jobs. Some of them should > indeed be converted to BB; but none of them takes a user-supplied offset > or size, all work on the full BDS (or only on parts which have been > modified, etc.). Therefore, it is by design impossible for them to > exceed the BDS's limits, which makes making all BDS's growable safe.
Patches that I didn't comment on (all except 4, 5, 6, 9, 10, 13) are, assuming that you address Eric's comments, if any: Reviewed-by: Kevin Wolf <kw...@redhat.com>