On 09/14/2012 11:23 AM, Eric Blake wrote:
> On 09/14/2012 07:41 AM, Jeff Cody wrote:
>> Add bdrv_find_overlay(), and bdrv_drop_intermediate().
>>
>> bdrv_find_overlay():  given 'bs' and the active (topmost) BDS of an image 
>> chain,
>>                     find the image that is the immediate top of 'bs'
>>
>> bdrv_drop_intermediate():
>>                     Given 3 BDS (active, top, base), delete images above
> 
> s/delete/drop/
> 

Thanks

>>                     base up to and including top, and set base to be the
>>                     parent of top's child node.
> 
> set base to be the backing file of top's overlay node.
> 

Thanks

>>
>>                     E.g., this converts:
>>
>>                     bottom <- base <- intermediate <- top <- active
>>
>>                     to
>>
>>                     bottom <- base <- active
>>
>> +++ b/block.c
>> @@ -1713,6 +1713,156 @@ int bdrv_change_backing_file(BlockDriverState *bs,
>>      return ret;
>>  }
>>  
>> +/*
>> + * Finds the image layer immediately to the 'top' of bs.
> 
> Or even:
> 
> Finds the image layer in the chain that has 'bs' as its backing file.
> 

Thanks - I prefer your wording, that is clearer.


>> +/*
>> + * Deletes images above 'base' up to and including 'top', and sets the image
> 
> s/Deletes/Drops/
> 
>> +++ b/block.h
>> @@ -209,7 +209,10 @@ int bdrv_commit_all(void);
>>  int bdrv_change_backing_file(BlockDriverState *bs,
>>      const char *backing_file, const char *backing_fmt);
>>  void bdrv_register(BlockDriver *bdrv);
>> -
>> +int bdrv_drop_intermediate(BlockDriverState *active, BlockDriverState *top,
>> +                           BlockDriverState *base);
>> +BlockDriverState *bdrv_find_overlay(BlockDriverState *active,
>> +                                    BlockDriverState *bs);
>>  
>>  typedef struct BdrvCheckResult {
> 
> Changed from two blank lines to one before the typedef; was that
> intentional?
>

Nope, it was unintentional - thanks


Reply via email to