| From 2abbf288d8f8cd28b89358c50bb881b2afd974c2 Mon Sep 17 00:00:00 2001 |
| From: Jeffrey Cody <jcody@redhat.com> |
| Date: Wed, 20 Nov 2013 19:43:52 +0100 |
| Subject: [PATCH 09/25] block: vhdx code movement - VHDXMetadataEntries and BDRVVHDXState to header. |
| |
| RH-Author: Jeffrey Cody <jcody@redhat.com> |
| Message-id: <9c245806ba56c5fa2386de02cffbaace28aa928c.1384975172.git.jcody@redhat.com> |
| Patchwork-id: 55802 |
| O-Subject: [RHEL7 qemu-kvm PATCH 09/26] block: vhdx code movement - VHDXMetadataEntries and BDRVVHDXState to header. |
| Bugzilla: 879234 |
| RH-Acked-by: Stefan Hajnoczi <stefanha@redhat.com> |
| RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com> |
| RH-Acked-by: Fam Zheng <famz@redhat.com> |
| |
| In preparation for VHDX log support, move these structures to the |
| header. |
| |
| Signed-off-by: Jeff Cody <jcody@redhat.com> |
| Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> |
| (cherry picked from commit 28541d46280733b9afe7b106a3a6665275a45e5f) |
| |
| block/vhdx.c | 52 ---------------------------------------------------- |
| block/vhdx.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ |
| 2 files changed, 48 insertions(+), 52 deletions(-) |
| |
| Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com> |
| |
| block/vhdx.c | 52 ---------------------------------------------------- |
| block/vhdx.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ |
| 2 files changed, 48 insertions(+), 52 deletions(-) |
| |
| diff --git a/block/vhdx.c b/block/vhdx.c |
| index fba2aa9..16321ff 100644 |
| |
| |
| @@ -105,16 +105,6 @@ static const MSGUID parent_vhdx_guid = { .data1 = 0xb04aefb7, |
| META_PAGE_83_PRESENT | META_LOGICAL_SECTOR_SIZE_PRESENT | \ |
| META_PHYS_SECTOR_SIZE_PRESENT) |
| |
| -typedef struct VHDXMetadataEntries { |
| - VHDXMetadataTableEntry file_parameters_entry; |
| - VHDXMetadataTableEntry virtual_disk_size_entry; |
| - VHDXMetadataTableEntry page83_data_entry; |
| - VHDXMetadataTableEntry logical_sector_size_entry; |
| - VHDXMetadataTableEntry phys_sector_size_entry; |
| - VHDXMetadataTableEntry parent_locator_entry; |
| - uint16_t present; |
| -} VHDXMetadataEntries; |
| - |
| |
| typedef struct VHDXSectorInfo { |
| uint32_t bat_idx; /* BAT entry index */ |
| @@ -125,48 +115,6 @@ typedef struct VHDXSectorInfo { |
| uint64_t block_offset; /* block offset, in bytes */ |
| } VHDXSectorInfo; |
| |
| - |
| - |
| -typedef struct BDRVVHDXState { |
| - CoMutex lock; |
| - |
| - int curr_header; |
| - VHDXHeader *headers[2]; |
| - |
| - VHDXRegionTableHeader rt; |
| - VHDXRegionTableEntry bat_rt; /* region table for the BAT */ |
| - VHDXRegionTableEntry metadata_rt; /* region table for the metadata */ |
| - |
| - VHDXMetadataTableHeader metadata_hdr; |
| - VHDXMetadataEntries metadata_entries; |
| - |
| - VHDXFileParameters params; |
| - uint32_t block_size; |
| - uint32_t block_size_bits; |
| - uint32_t sectors_per_block; |
| - uint32_t sectors_per_block_bits; |
| - |
| - uint64_t virtual_disk_size; |
| - uint32_t logical_sector_size; |
| - uint32_t physical_sector_size; |
| - |
| - uint64_t chunk_ratio; |
| - uint32_t chunk_ratio_bits; |
| - uint32_t logical_sector_size_bits; |
| - |
| - uint32_t bat_entries; |
| - VHDXBatEntry *bat; |
| - uint64_t bat_offset; |
| - |
| - MSGUID session_guid; |
| - |
| - |
| - VHDXParentLocatorHeader parent_header; |
| - VHDXParentLocatorEntry *parent_entries; |
| - |
| - Error *migration_blocker; |
| -} BDRVVHDXState; |
| - |
| /* Calculates new checksum. |
| * |
| * Zero is substituted during crc calculation for the original crc field |
| diff --git a/block/vhdx.h b/block/vhdx.h |
| index 2223b15..57375ff 100644 |
| |
| |
| @@ -308,6 +308,54 @@ typedef struct QEMU_PACKED VHDXParentLocatorEntry { |
| |
| /* ----- END VHDX SPECIFICATION STRUCTURES ---- */ |
| |
| +typedef struct VHDXMetadataEntries { |
| + VHDXMetadataTableEntry file_parameters_entry; |
| + VHDXMetadataTableEntry virtual_disk_size_entry; |
| + VHDXMetadataTableEntry page83_data_entry; |
| + VHDXMetadataTableEntry logical_sector_size_entry; |
| + VHDXMetadataTableEntry phys_sector_size_entry; |
| + VHDXMetadataTableEntry parent_locator_entry; |
| + uint16_t present; |
| +} VHDXMetadataEntries; |
| + |
| +typedef struct BDRVVHDXState { |
| + CoMutex lock; |
| + |
| + int curr_header; |
| + VHDXHeader *headers[2]; |
| + |
| + VHDXRegionTableHeader rt; |
| + VHDXRegionTableEntry bat_rt; /* region table for the BAT */ |
| + VHDXRegionTableEntry metadata_rt; /* region table for the metadata */ |
| + |
| + VHDXMetadataTableHeader metadata_hdr; |
| + VHDXMetadataEntries metadata_entries; |
| + |
| + VHDXFileParameters params; |
| + uint32_t block_size; |
| + uint32_t block_size_bits; |
| + uint32_t sectors_per_block; |
| + uint32_t sectors_per_block_bits; |
| + |
| + uint64_t virtual_disk_size; |
| + uint32_t logical_sector_size; |
| + uint32_t physical_sector_size; |
| + |
| + uint64_t chunk_ratio; |
| + uint32_t chunk_ratio_bits; |
| + uint32_t logical_sector_size_bits; |
| + |
| + uint32_t bat_entries; |
| + VHDXBatEntry *bat; |
| + uint64_t bat_offset; |
| + |
| + MSGUID session_guid; |
| + |
| + VHDXParentLocatorHeader parent_header; |
| + VHDXParentLocatorEntry *parent_entries; |
| + |
| + Error *migration_blocker; |
| +} BDRVVHDXState; |
| |
| void vhdx_guid_generate(MSGUID *guid); |
| |
| -- |
| 1.7.1 |
| |