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/

>                     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.

> 
>                     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.

> +/*
> + * 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?

-- 
Eric Blake   ebl...@redhat.com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to