Lines Matching full:bitmap
43 return transaction_action('block-dirty-bitmap-clear',
52 class Bitmap: class
191 def make_reference_backup(self, bitmap=None): argument
192 if bitmap is None:
193 bitmap = self.bitmaps[-1]
194 _, reference = bitmap.last_target()
195 res = self.do_qmp_backup(job_id=bitmap.drive['id'],
196 device=bitmap.drive['id'], sync='full',
197 format=bitmap.drive['fmt'], target=reference)
202 bitmap = Bitmap(name, drive)
203 self.bitmaps.append(bitmap)
204 self.vm.cmd('block-dirty-bitmap-add', node=drive['id'],
205 name=bitmap.name, **kwargs)
206 return bitmap
209 def prepare_backup(self, bitmap=None, parent=None, **kwargs): argument
210 if bitmap is None:
211 bitmap = self.bitmaps[-1]
213 parent, _ = bitmap.last_target()
215 target, _ = bitmap.new_target()
216 self.img_create(target, bitmap.drive['fmt'], parent=parent,
221 def create_incremental(self, bitmap=None, parent=None, argument
224 if bitmap is None:
225 bitmap = self.bitmaps[-1]
227 parent, _ = bitmap.last_target()
230 target = self.prepare_backup(bitmap, parent)
231 res = self.do_qmp_backup(job_id=bitmap.drive['id'],
232 device=bitmap.drive['id'],
233 sync='incremental', bitmap=bitmap.name,
234 format=bitmap.drive['fmt'], target=target,
237 bitmap.del_target();
240 self.make_reference_backup(bitmap)
245 for bitmap in self.bitmaps:
246 for incremental, reference in bitmap.backups:
248 last = bitmap.last_target()[0]
249 self.assertTrue(iotests.compare_images(last, bitmap.drive['file']))
281 for bitmap in self.bitmaps:
282 bitmap.cleanup()
293 Create a bitmap and a full backup before VM execution begins,
302 Test: Create and verify backups made with a small granularity bitmap.
312 Test: Create and verify backups made with a large granularity bitmap.
336 # Create bitmap and dirty it with some new writes.
337 # overwrite [32736, 32799] which will dirty bitmap clusters at
344 # Check the dirty bitmap stats
360 bitmap=bitmap0.name,
376 Create a bitmap "before" VM execution begins, then create a second
377 bitmap AFTER writes have already occurred. Use transactions to create
470 bitmap=dr0bm0.name),
473 bitmap=dr1bm0.name)
521 Add a second drive with its own unique pattern, and add a bitmap to each
553 sync='incremental', bitmap='unknown',
571 Test: Add a bitmap, truncate the image, write past the old
687 bitmap = self.add_bitmap('bitmap0', drive0)
694 # Bitmap Status Check
696 drive0['id'], bitmap.name, {
704 parent, _ = bitmap.last_target()
705 target = self.prepare_backup(bitmap, parent)
707 job_id=bitmap.drive['id'],
708 device=bitmap.drive['id'],
710 bitmap=bitmap.name,
711 format=bitmap.drive['fmt'],
718 match={"data":{"device":bitmap.drive['id']}})
719 self.assert_qmp(event, 'data', {'device': bitmap.drive['id'],
723 # Bitmap Status Check
725 drive0['id'], bitmap.name, {
733 self.vm.cmd('block-job-resume', device=bitmap.drive['id'])
734 self.wait_qmp_backup(bitmap.drive['id'])
736 # Bitmap Status Check
738 drive0['id'], bitmap.name, {
746 self.make_reference_backup(bitmap)