All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: famz@redhat.com
Cc: Ian Main <imain@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH V4 3/4] Add backing drive while performing backup.
Date: Thu, 18 Jul 2013 15:13:31 +0200	[thread overview]
Message-ID: <51E7E9FB.5040202@redhat.com> (raw)
In-Reply-To: <20130718063928.GH29052@T430s.nay.redhat.com>

Il 18/07/2013 08:39, Fam Zheng ha scritto:
> On Wed, 07/17 13:04, Ian Main wrote:
>> This patch adds the original source drive as a backing drive to our target
>> image so that the target image will appear complete during backup.  This
>> is especially useful for SYNC_MODE_NONE as it allows export via NBD to
>> have a complete point-in-time snapshot available for export.
>>
>> Signed-off-by: Ian Main <imain@redhat.com>
>> ---
>>  block/backup.c | 13 +++++++++++++
>>  1 file changed, 13 insertions(+)
>>
>> diff --git a/block/backup.c b/block/backup.c
>> index 68abd23..e086e76 100644
>> --- a/block/backup.c
>> +++ b/block/backup.c
>> @@ -323,6 +323,10 @@ static void coroutine_fn backup_run(void *opaque)
>>  
>>      hbitmap_free(job->bitmap);
>>  
>> +    /* Set the target backing drive back to NULL before calling delete or
>> +     * it will also delete the underlying drive. */
>> +    target->backing_hd = NULL;
>> +
>>      bdrv_iostatus_disable(target);
>>      bdrv_delete(target);
>>  
>> @@ -362,6 +366,15 @@ void backup_start(BlockDriverState *bs, BlockDriverState *target,
>>          return;
>>      }
>>  
>> +    /* Manually set the backing hd to be the backup source drive so
>> +     * that all reads done while we are backing up will be passed
>> +     * on to the original source drive.  This allows reading from the
>> +     * image while the backup is in progress, or in the case of
>> +     * SYNC_MODE_NONE allows a complete image to be present for export.
>> +     * Note that we do this for all modes including SYNC_MODE_TOP as
>> +     * even then it allows on-the-fly reading. */
>> +    target->backing_hd = bs;
>> +
> 
> Also set target->backing_file and target->backing_format here? Paolo?

I don't think so, it is temporary while the job runs so that the NBD
server can already return the actual data.

Paolo

  reply	other threads:[~2013-07-18 13:13 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-17 20:04 [Qemu-devel] [PATCH V4 0/4] Implement sync modes for drive-backup Ian Main
2013-07-17 20:04 ` [Qemu-devel] [PATCH V4 1/4] " Ian Main
2013-07-18 17:19   ` Eric Blake
2013-07-18 19:06     ` Ian Main
2013-07-18 19:54       ` Eric Blake
2013-07-19 21:56         ` Ian Main
2013-07-17 20:04 ` [Qemu-devel] [PATCH V4 2/4] Add tests for sync modes 'TOP' and 'NONE' Ian Main
2013-07-17 20:04 ` [Qemu-devel] [PATCH V4 3/4] Add backing drive while performing backup Ian Main
2013-07-18  6:39   ` Fam Zheng
2013-07-18 13:13     ` Paolo Bonzini [this message]
2013-07-19  1:13       ` Fam Zheng
2013-07-19 20:15         ` Paolo Bonzini
2013-07-17 20:04 ` [Qemu-devel] [PATCH V4 4/4] Change default to qcow2 for sync mode none Ian Main
2013-07-18 17:27   ` Eric Blake
2013-07-18 17:32     ` Eric Blake
2013-07-18 18:03       ` Ian Main
2013-07-18 18:48         ` Eric Blake
2013-07-18 18:06     ` Ian Main

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51E7E9FB.5040202@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=famz@redhat.com \
    --cc=imain@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.