Bug 1855250
| Summary: | qemu-img convert uses possibly slow pre-zeroing on block storage | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 8 | Reporter: | Xueqiang Wei <xuwei> |
| Component: | qemu-kvm | Assignee: | Kevin Wolf <kwolf> |
| qemu-kvm sub component: | Storage | QA Contact: | Tingting Mao <timao> |
| Status: | CLOSED ERRATA | Docs Contact: | |
| Severity: | low | ||
| Priority: | medium | CC: | chayang, coli, ddepaula, jinzhao, juzhang, kwolf, michal.skrivanek, nsoffer, qzhang, rjones, virt-maint, yama, zhenyzha, zixchen |
| Version: | 8.3 | Keywords: | Triaged |
| Target Milestone: | rc | Flags: | pm-rhel:
mirror+
|
| Target Release: | 8.0 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | qemu-kvm-4.2.0-49.module+el8.5.0+10804+ce89428a | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | 1847192 | Environment: | |
| Last Closed: | 2021-11-09 17:58:01 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: | |||
| Bug Depends On: | 1847192, 1861682 | ||
| Bug Blocks: | |||
|
Comment 1
Xueqiang Wei
2020-07-09 11:15:44 UTC
This is a nice to have but slow train isn't really a priority since this bug only slows conversions, doesn't prevent them. So if the backport is at all risky I'd say don't do it. Also RHV does not depend on slow train, only on RHEL AV. Michal, can you confirm? (In reply to Richard W.M. Jones from comment #2) > This is a nice to have but slow train isn't really a priority since > this bug only slows conversions, doesn't prevent them. So if the > backport is at all risky I'd say don't do it. Indeed. The backport consists of deleting 9 lines, an optimisation that became a pessimisation in newer versions, so I think it's not risky at all. But as I said, I also think this should still wait for 8.3.1 at this point. (Which doesn't seem to be available as ITR yet?) (In reply to Kevin Wolf from comment #4) > (In reply to Richard W.M. Jones from comment #2) > > This is a nice to have but slow train isn't really a priority since > > this bug only slows conversions, doesn't prevent them. So if the > > backport is at all risky I'd say don't do it. > > Indeed. The backport consists of deleting 9 lines, an optimisation that > became a pessimisation in newer versions, so I think it's not risky at all. > But as I said, I also think this should still wait for 8.3.1 at this point. > (Which doesn't seem to be available as ITR yet?) There's no RHEL-8.3.1, only RHEL-AV has it (this is an oversimplification, the full story is confusing). (In reply to Nir Soffer from comment #3) > Also RHV does not depend on slow train, only on RHEL AV. > > Michal, can you confirm? I can confirm this is indeed the case. Kevin: assigned to you with ITR=8.4.0, but from my perspective, you can close it as DEFERRED in RHEL-8 if you like (already fixed in RHEL-AV), as this is a corner-case with a small impact on customers. Tested it on rhel8.4, hit this issue.
Versions:
kernel-4.18.0-280.el8.x86_64
qemu-kvm-4.2.0-44.module+el8.4.0+9776+c5744f20
1. create a 2G iamge
# qemu-img create -f raw test.img 2G
Formatting 'test.img', fmt=raw size=2147483648
2. covert it to full allocation
# qemu-img convert -p -f raw -O raw -S 0 test.img test.img
(100.00/100%)
# qemu-img info test.img
image: test.img
file format: raw
virtual size: 2 GiB (2147483648 bytes)
disk size: 2 GiB
3. create lvm on block device
# pvcreate /dev/mapper/mpatha1
# vgcreate vgtest /dev/mapper/mpatha1
# lvcreate -L 20G -n lvtest vgtest
4. convert the image to block device
# time qemu-img convert -f raw -O raw -t none -T none -W /home/test.img /dev/vgtest/lvtest -p
(100.00/100%)
real 12m46.474s
user 0m0.578s
sys 0m0.389s
Hi Kevin,
this bug is targeted to 8.4.0, if it will be fixed in 8.4.0. Thanks.
Thanks for the reminder. Yes, I will send a backport of the fix. Tested it with qemu-kvm-4.2.0-47.module+el8.4.0+10269+f1e44e42, also hit this issue.
Versions:
kernel-4.18.0-295.el8.x86_64
qemu-kvm-4.2.0-47.module+el8.4.0+10269+f1e44e42
1. create a 2G iamge
# qemu-img create -f raw test.img 2G
Formatting 'test.img', fmt=raw size=2147483648
2. covert it to full allocation
# qemu-img convert -p -f raw -O raw -S 0 test.img test.img
(100.00/100%)
# qemu-img info test.img
image: test.img
file format: raw
virtual size: 2 GiB (2147483648 bytes)
disk size: 2 GiB
3. create lvm on block device
# pvcreate /dev/mapper/mpatha
# vgcreate vgtest /dev/mapper/mpatha
# lvcreate -L 20G -n lvtest vgtest
4. convert the image to block device
# time qemu-img convert -f raw -O raw -t none -T none -W /home/test.img /dev/vgtest/lvtest -p
(100.00/100%)
real 12m39.073s
user 0m0.589s
sys 0m0.399s
I don't expect a rebase for 8.5 AFAIK. So the code base is still the same. In that way I will just move your patches (and acks) to the new queue when it opens. You won't need to do anything if we're settle that this will go to 8.5. Meanwhile, are you sure this doesn't deserve an exception? ps: I will move it back to POST given that I will just move your patches to the new queue when it opens. Since initially we were even discussing if this is worth fixing at all in base RHEL, I don't think I could justify an exception. The patch to fix this BZ got moved into RHEL-8.5, however it's not ready for release as it's missing ITM Please DEVEL AND QE agree into an ITM. I think it would make more sense for you to set it for the devel side because the patch is fully reviewed and it only depends on when it actually gets built. I'll just take a guess and set something relatively soon, but everyone, please feel free to modify it. I agree with Kevin, set ITM to 11. It will be verified soon If QE gets the package. Set Verified:Tested,SanityOnly as gating/tier1 test pass. Tested it with qemu-kvm-4.2.0-49.module+el8.5.0+10804+ce89428a, not hit this issue. So set status to VERIFIED.
Versions:
kernel-4.18.0-305.1.el8.x86_64
qemu-kvm-4.2.0-49.module+el8.5.0+10804+ce89428a
1. create a 2G iamge
# qemu-img create -f raw test.img 2G
Formatting 'test.img', fmt=raw size=2147483648
2. covert it to full allocation
# qemu-img convert -p -f raw -O raw -S 0 test.img test.img
(100.00/100%)
# qemu-img info test.img
image: test.img
file format: raw
virtual size: 2 GiB (2147483648 bytes)
disk size: 2 GiB
3. create lvm on block device
# pvcreate /dev/mapper/mpatha
# vgcreate vgtest /dev/mapper/mpatha
# lvcreate -L 20G -n lvtest vgtest
4. convert the image to block device
# time qemu-img convert -f raw -O raw -t none -T none -W /home/test.img /dev/vgtest/lvtest -p
(100.00/100%)
real 0m18.845s
user 0m0.657s
sys 0m0.555s
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 (Moderate: virt:rhel and virt-devel:rhel security, bug fix, and enhancement update), 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-2021:4191 |