qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 1/8] block: add support functions for live commi


From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH 1/8] block: add support functions for live commit, to find and delete images.
Date: Fri, 14 Sep 2012 09:23:19 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120828 Thunderbird/15.0

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   address@hidden    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]