qcow2-bitmap.c (5deb6cbd1fae10197623a74b0734a468ec80c609) qcow2-bitmap.c (ef9041a7b8c46001c8c44eab3eac9920739d9b36)
1/*
2 * Bitmaps for the QCOW version 2 format
3 *
4 * Copyright (c) 2014-2017 Vladimir Sementsov-Ogievskiy
5 *
6 * This file is derived from qcow2-snapshot.c, original copyright:
7 * Copyright (c) 2004-2006 Fabrice Bellard
8 *

--- 1474 unchanged lines hidden (view full) ---

1483 bm_list = bitmap_list_load(bs, s->bitmap_directory_offset,
1484 s->bitmap_directory_size, errp);
1485 if (bm_list == NULL) {
1486 return;
1487 }
1488 }
1489
1490 /* check constraints and names */
1/*
2 * Bitmaps for the QCOW version 2 format
3 *
4 * Copyright (c) 2014-2017 Vladimir Sementsov-Ogievskiy
5 *
6 * This file is derived from qcow2-snapshot.c, original copyright:
7 * Copyright (c) 2004-2006 Fabrice Bellard
8 *

--- 1474 unchanged lines hidden (view full) ---

1483 bm_list = bitmap_list_load(bs, s->bitmap_directory_offset,
1484 s->bitmap_directory_size, errp);
1485 if (bm_list == NULL) {
1486 return;
1487 }
1488 }
1489
1490 /* check constraints and names */
1491 for (bitmap = bdrv_dirty_bitmap_next(bs, NULL); bitmap != NULL;
1492 bitmap = bdrv_dirty_bitmap_next(bs, bitmap))
1493 {
1491 FOR_EACH_DIRTY_BITMAP(bs, bitmap) {
1494 const char *name = bdrv_dirty_bitmap_name(bitmap);
1495 uint32_t granularity = bdrv_dirty_bitmap_granularity(bitmap);
1496 Qcow2Bitmap *bm;
1497
1498 if (!bdrv_dirty_bitmap_get_persistence(bitmap) ||
1499 bdrv_dirty_bitmap_readonly(bitmap) ||
1500 bdrv_dirty_bitmap_inconsistent(bitmap)) {
1501 continue;

--- 103 unchanged lines hidden (view full) ---

1605 Error *local_err = NULL;
1606
1607 qcow2_store_persistent_dirty_bitmaps(bs, &local_err);
1608 if (local_err != NULL) {
1609 error_propagate(errp, local_err);
1610 return -EINVAL;
1611 }
1612
1492 const char *name = bdrv_dirty_bitmap_name(bitmap);
1493 uint32_t granularity = bdrv_dirty_bitmap_granularity(bitmap);
1494 Qcow2Bitmap *bm;
1495
1496 if (!bdrv_dirty_bitmap_get_persistence(bitmap) ||
1497 bdrv_dirty_bitmap_readonly(bitmap) ||
1498 bdrv_dirty_bitmap_inconsistent(bitmap)) {
1499 continue;

--- 103 unchanged lines hidden (view full) ---

1603 Error *local_err = NULL;
1604
1605 qcow2_store_persistent_dirty_bitmaps(bs, &local_err);
1606 if (local_err != NULL) {
1607 error_propagate(errp, local_err);
1608 return -EINVAL;
1609 }
1610
1613 for (bitmap = bdrv_dirty_bitmap_next(bs, NULL); bitmap != NULL;
1614 bitmap = bdrv_dirty_bitmap_next(bs, bitmap))
1615 {
1611 FOR_EACH_DIRTY_BITMAP(bs, bitmap) {
1616 if (bdrv_dirty_bitmap_get_persistence(bitmap)) {
1617 bdrv_dirty_bitmap_set_readonly(bitmap, true);
1618 }
1619 }
1620
1621 return 0;
1622}
1623

--- 62 unchanged lines hidden ---
1612 if (bdrv_dirty_bitmap_get_persistence(bitmap)) {
1613 bdrv_dirty_bitmap_set_readonly(bitmap, true);
1614 }
1615 }
1616
1617 return 0;
1618}
1619

--- 62 unchanged lines hidden ---