Bug 1691048
Summary: | Add qemu-img info support for querying bitmaps offline | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | John Snow <jsnow> |
Component: | qemu-kvm-rhev | Assignee: | John Snow <jsnow> |
Status: | CLOSED ERRATA | QA Contact: | aihua liang <aliang> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 7.7 | CC: | eblake, jinzhao, juzhang, ngu, qzhang, virt-maint |
Target Milestone: | rc | Keywords: | FutureFeature |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | qemu-kvm-rhev-2.12.0-27.el7 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2019-08-22 09:20:23 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
John Snow
2019-03-20 17:43:41 UTC
Fix included in qemu-kvm-rhev-2.12.0-27.el7 Verified it in qemu-kvm-rhev-2.12.0-27.el7, and flag info of bitmap can't be displayed correctly. 1. Add persistent bitmap, shutdown vm, check image info offline. #qemu-img info rhel77-64-virtio-scsi.qcow2 image: rhel77-64-virtio-scsi.qcow2 file format: qcow2 virtual size: 20G (21474836480 bytes) disk size: 4.3G cluster_size: 65536 Format specific information: compat: 1.1 lazy refcounts: false bitmaps: [0]: flags: [0]: auto ---> bit 0 has value "in_use", and bit 1 has value "auto" name: bitmap10 granularity: 65536 2.Re-start vm, check image info online #qemu-img info rhel77-64-virtio-scsi.qcow2 -U image: rhel77-64-virtio-scsi.qcow2 file format: qcow2 virtual size: 20G (21474836480 bytes) disk size: 4.3G cluster_size: 65536 Format specific information: compat: 1.1 lazy refcounts: false bitmaps: [0]: flags: [0]: in-use [1]: auto ---> Can display correctly when check image info online. name: bitmap10 granularity: 65536 Reference: qemu-4.0.0-rc4/docs/interop/qcow2.txt Structure of a bitmap directory entry: Byte 0 - 7: bitmap_table_offset Offset into the image file at which the bitmap table (described below) for the bitmap starts. Must be aligned to a cluster boundary. 8 - 11: bitmap_table_size Number of entries in the bitmap table of the bitmap. 12 - 15: flags Bit 0: in_use The bitmap was not saved correctly and may be inconsistent. Although the bitmap metadata is still well-formed from a qcow2 perspective, the metadata (such as the auto flag or bitmap size) or data contents may be outdated. 1: auto The bitmap must reflect all changes of the virtual disk by any application that would write to this qcow2 file (including writes, snapshot switching, etc.). The type of this bitmap must be 'dirty tracking bitmap'. 2: extra_data_compatible This flags is meaningful when the extra data is unknown to the software (currently any extra data is unknown to Qemu). If it is set, the bitmap may be used as expected, extra data must be left as is. If it is not set, the bitmap must not be used, but both it and its extra data be left as is. Bits 3 - 31 are reserved and must be 0. Hi, John Please help to check, thanks. Sorry, that output is confusing. The number it prints is not meaningful... (ouch) It's just an ordered list of the flags found to be set ... it doesn't actually correlate to the bit numbers. So, sadly, "working as intended" but I agree that it's confusing. Better would be just: Flags: +in_use +auto (etc) without the numbers. It's a symptom simply of the "info" structure returning a list of flags, and the info printer prints all lists as numbered. (In reply to John Snow from comment #6) > Sorry, that output is confusing. The number it prints is not meaningful... > (ouch) > > It's just an ordered list of the flags found to be set ... it doesn't > actually correlate to the bit numbers. So, sadly, "working as intended" but > I agree that it's confusing. > > Better would be just: > > Flags: > +in_use > +auto > > (etc) without the numbers. It's a symptom simply of the "info" structure > returning a list of flags, and the info printer prints all lists as numbered. Got it. Flags: +in_use +auto Maybe better, i think. According to #c4 and #c6, the bug has been resolved, set bug's status to "Verified". And if there's an optimization for flag display in later version, it'll be better. (In reply to John Snow from comment #6) > Sorry, that output is confusing. The number it prints is not meaningful... > (ouch) > > It's just an ordered list of the flags found to be set ... it doesn't > actually correlate to the bit numbers. So, sadly, "working as intended" but > I agree that it's confusing. Confusing in this context, but generic and consistent (it is the same code used to print any QAPI list out to human-readable form) > > Better would be just: > > Flags: > +in_use > +auto Except that figuring out how to wire up code to treat this output differently from the generic output will probably be a lot of difficult work, and be counter to having consistent output for all QAPI arrays. > > (etc) without the numbers. It's a symptom simply of the "info" structure > returning a list of flags, and the info printer prints all lists as numbered. Unfortunately, Eric is right that due to the existing code infrastructure it's probably a lot of effort to change this, so it's not likely to change soon. I will try to document this quirk. Thank you for your work in verifying these BZs so far. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2019:2553 |