qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2 12/18] block/backup: add 'always' bitmap sync


From: Max Reitz
Subject: Re: [Qemu-devel] [PATCH v2 12/18] block/backup: add 'always' bitmap sync policy
Date: Thu, 4 Jul 2019 20:05:26 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0

On 04.07.19 19:43, Max Reitz wrote:
> On 03.07.19 23:55, John Snow wrote:
>> This adds an "always" policy for bitmap synchronization. Regardless of if
>> the job succeeds or fails, the bitmap is *always* synchronized. This means
>> that for backups that fail part-way through, the bitmap retains a record of
>> which sectors need to be copied out to accomplish a new backup using the
>> old, partial result.
>>
>> In effect, this allows us to "resume" a failed backup; however the new backup
>> will be from the new point in time, so it isn't a "resume" as much as it is
>> an "incremental retry." This can be useful in the case of extremely large
>> backups that fail considerably through the operation and we'd like to not 
>> waste
>> the work that was already performed.
>>
>> Signed-off-by: John Snow <address@hidden>
>> ---
>>  block/backup.c       | 25 +++++++++++++++++--------
>>  qapi/block-core.json |  5 ++++-
>>  2 files changed, 21 insertions(+), 9 deletions(-)
>>
>> diff --git a/block/backup.c b/block/backup.c
>> index 9cc5a7f6ca..495d8f71aa 100644
>> --- a/block/backup.c
>> +++ b/block/backup.c
>> @@ -266,16 +266,25 @@ static void backup_cleanup_sync_bitmap(BackupBlockJob 
>> *job, int ret)

[...]

>> +        /* If we failed and synced, merge in the bits we didn't copy: */
>> +        bdrv_dirty_bitmap_merge_internal(bm, job->copy_bitmap,
>> +                                         NULL, true);
> 
> I presume this is for sync=full?

Ah, no.  This is necessary because the original sync bitmap was
discarded by bdrv_dirty_bitmap_abdicate().  So yep, these bits need to
go back into the sync bitmap then.

Max

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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