2014-09-12 14:58:23 |
Michael Steffens |
bug |
|
|
added bug |
2014-09-12 15:08:02 |
Michael Steffens |
bug task added |
|
nova |
|
2014-09-12 15:13:47 |
Matt Riedemann |
nova: status |
New |
Triaged |
|
2014-09-12 15:13:51 |
Matt Riedemann |
nova: importance |
Undecided |
Medium |
|
2014-09-14 10:23:56 |
gustavo panizzo |
bug |
|
|
added subscriber gustavo panizzo |
2014-09-15 05:16:43 |
Tony Breeds |
bug |
|
|
added subscriber Tony Breeds |
2014-09-15 15:15:38 |
Matt Riedemann |
nova: importance |
Medium |
High |
|
2014-09-15 18:27:33 |
Serge Hallyn |
bug task added |
|
qemu (Ubuntu) |
|
2014-09-15 18:27:58 |
Serge Hallyn |
qemu (Ubuntu): status |
New |
Triaged |
|
2014-09-15 18:28:03 |
Serge Hallyn |
qemu (Ubuntu): importance |
Undecided |
High |
|
2014-09-15 18:28:13 |
Serge Hallyn |
nominated for series |
|
Ubuntu Trusty |
|
2014-09-15 18:28:13 |
Serge Hallyn |
bug task added |
|
qemu (Ubuntu Trusty) |
|
2014-09-15 18:28:22 |
Serge Hallyn |
qemu (Ubuntu Trusty): status |
New |
Triaged |
|
2014-09-15 18:28:27 |
Serge Hallyn |
qemu (Ubuntu Trusty): importance |
Undecided |
High |
|
2014-09-15 19:15:40 |
Marc Deslauriers |
bug |
|
|
added subscriber Marc Deslauriers |
2014-09-16 19:50:50 |
Jamie Strandboge |
bug |
|
|
added subscriber Jamie Strandboge |
2014-09-30 04:49:39 |
Tony Breeds |
nova: assignee |
|
Tony Breeds (o-tony) |
|
2014-09-30 04:50:05 |
Tony Breeds |
qemu: status |
New |
In Progress |
|
2014-09-30 04:50:05 |
Tony Breeds |
qemu: assignee |
|
Tony Breeds (o-tony) |
|
2014-09-30 04:50:30 |
Tony Breeds |
qemu (Ubuntu): assignee |
|
Tony Breeds (o-tony) |
|
2014-09-30 04:52:07 |
Tony Breeds |
nova: status |
Triaged |
In Progress |
|
2014-09-30 04:52:31 |
Tony Breeds |
qemu (Ubuntu): assignee |
Tony Breeds (o-tony) |
|
|
2014-10-23 18:24:20 |
Serge Hallyn |
nominated for series |
|
Ubuntu Utopic |
|
2014-10-23 18:24:20 |
Serge Hallyn |
bug task added |
|
qemu (Ubuntu Utopic) |
|
2014-10-23 18:24:20 |
Serge Hallyn |
nominated for series |
|
Ubuntu Vivid |
|
2014-10-23 18:24:20 |
Serge Hallyn |
bug task added |
|
qemu (Ubuntu Vivid) |
|
2014-10-27 05:27:36 |
Launchpad Janitor |
qemu (Ubuntu Vivid): status |
New |
Confirmed |
|
2014-10-30 06:40:38 |
Launchpad Janitor |
qemu (Ubuntu Vivid): status |
Confirmed |
Fix Released |
|
2014-11-20 22:23:28 |
Serge Hallyn |
description |
-- Found in releases qemu-2.0.0, qemu-2.0.2, qemu-2.1.0. Tested on Ubuntu 14.04 using Ext4 filesystems.
The command
qemu-img convert -O raw inputimage.qcow2 outputimage.raw
intermittently creates corrupted output images, when the input image is not yet fully synchronized to disk. While the issue has actually been discovered in operation of of OpenStack nova, it can be reproduced "easily" on command line using
cat $SRC_PATH > $TMP_PATH && $QEMU_IMG_PATH convert -O raw $TMP_PATH $DST_PATH && cksum $DST_PATH
on filesystems exposing this behavior. (The difficult part of this exercise is to prepare a filesystem to reliably trigger this race. On my test machine some filesystems are affected while other aren't, and unfortunately I haven't found the relevant difference between them, yet. Possible it's timing issues completely out of userspace control ...)
The root cause, however, is the same as in
http://lists.gnu.org/archive/html/coreutils/2011-04/msg00069.html
and it can be solved the same way as suggested in
http://lists.gnu.org/archive/html/coreutils/2011-04/msg00102.html
In qemu, file block/raw-posix.c use the FIEMAP_FLAG_SYNC, i.e change
f.fm.fm_flags = 0;
to
f.fm.fm_flags = FIEMAP_FLAG_SYNC;
As discussed in the thread mentioned above, retrieving a page cache coherent map of file extents is possible only after fsync on that file.
See also
https://bugs.launchpad.net/nova/+bug/1350766
In that bug report filed against nova, fsync had been suggested to be performed by the framework invoking qemu-img. However, as the choice of fiemap -- implying this otherwise unneeded fsync of a temporary file -- is not made by the caller but by qemu-img, I agree with the nova bug reviewer's objection to put it into nova. The fsync should instead be triggered by qemu-img utilizing the FIEMAP_FLAG_SYNC, specifically intended for that purpose. |
==========================================================
Impact: occasional qcow2 corruption
Test case: see the qemu-img command below
Regression potential: this cherrypicks a patch from upstream to a not-insignificantly older qemu source tree. While the cherrypick seems sane, it's possible that there are subtle interactions with the other delta. I'd really like for a full qa-regression-test qemu testcase to be run against this package.
==========================================================
-- Found in releases qemu-2.0.0, qemu-2.0.2, qemu-2.1.0. Tested on Ubuntu 14.04 using Ext4 filesystems.
The command
qemu-img convert -O raw inputimage.qcow2 outputimage.raw
intermittently creates corrupted output images, when the input image is not yet fully synchronized to disk. While the issue has actually been discovered in operation of of OpenStack nova, it can be reproduced "easily" on command line using
cat $SRC_PATH > $TMP_PATH && $QEMU_IMG_PATH convert -O raw $TMP_PATH $DST_PATH && cksum $DST_PATH
on filesystems exposing this behavior. (The difficult part of this exercise is to prepare a filesystem to reliably trigger this race. On my test machine some filesystems are affected while other aren't, and unfortunately I haven't found the relevant difference between them, yet. Possible it's timing issues completely out of userspace control ...)
The root cause, however, is the same as in
http://lists.gnu.org/archive/html/coreutils/2011-04/msg00069.html
and it can be solved the same way as suggested in
http://lists.gnu.org/archive/html/coreutils/2011-04/msg00102.html
In qemu, file block/raw-posix.c use the FIEMAP_FLAG_SYNC, i.e change
f.fm.fm_flags = 0;
to
f.fm.fm_flags = FIEMAP_FLAG_SYNC;
As discussed in the thread mentioned above, retrieving a page cache coherent map of file extents is possible only after fsync on that file.
See also
https://bugs.launchpad.net/nova/+bug/1350766
In that bug report filed against nova, fsync had been suggested to be performed by the framework invoking qemu-img. However, as the choice of fiemap -- implying this otherwise unneeded fsync of a temporary file -- is not made by the caller but by qemu-img, I agree with the nova bug reviewer's objection to put it into nova. The fsync should instead be triggered by qemu-img utilizing the FIEMAP_FLAG_SYNC, specifically intended for that purpose. |
|
2014-11-20 22:23:50 |
Serge Hallyn |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2014-11-25 11:44:37 |
Kevin Wolf |
description |
==========================================================
Impact: occasional qcow2 corruption
Test case: see the qemu-img command below
Regression potential: this cherrypicks a patch from upstream to a not-insignificantly older qemu source tree. While the cherrypick seems sane, it's possible that there are subtle interactions with the other delta. I'd really like for a full qa-regression-test qemu testcase to be run against this package.
==========================================================
-- Found in releases qemu-2.0.0, qemu-2.0.2, qemu-2.1.0. Tested on Ubuntu 14.04 using Ext4 filesystems.
The command
qemu-img convert -O raw inputimage.qcow2 outputimage.raw
intermittently creates corrupted output images, when the input image is not yet fully synchronized to disk. While the issue has actually been discovered in operation of of OpenStack nova, it can be reproduced "easily" on command line using
cat $SRC_PATH > $TMP_PATH && $QEMU_IMG_PATH convert -O raw $TMP_PATH $DST_PATH && cksum $DST_PATH
on filesystems exposing this behavior. (The difficult part of this exercise is to prepare a filesystem to reliably trigger this race. On my test machine some filesystems are affected while other aren't, and unfortunately I haven't found the relevant difference between them, yet. Possible it's timing issues completely out of userspace control ...)
The root cause, however, is the same as in
http://lists.gnu.org/archive/html/coreutils/2011-04/msg00069.html
and it can be solved the same way as suggested in
http://lists.gnu.org/archive/html/coreutils/2011-04/msg00102.html
In qemu, file block/raw-posix.c use the FIEMAP_FLAG_SYNC, i.e change
f.fm.fm_flags = 0;
to
f.fm.fm_flags = FIEMAP_FLAG_SYNC;
As discussed in the thread mentioned above, retrieving a page cache coherent map of file extents is possible only after fsync on that file.
See also
https://bugs.launchpad.net/nova/+bug/1350766
In that bug report filed against nova, fsync had been suggested to be performed by the framework invoking qemu-img. However, as the choice of fiemap -- implying this otherwise unneeded fsync of a temporary file -- is not made by the caller but by qemu-img, I agree with the nova bug reviewer's objection to put it into nova. The fsync should instead be triggered by qemu-img utilizing the FIEMAP_FLAG_SYNC, specifically intended for that purpose. |
==========================================================
Impact: occasional image corruption (any format on local filesystem)
Test case: see the qemu-img command below
Regression potential: this cherrypicks a patch from upstream to a not-insignificantly older qemu source tree. While the cherrypick seems sane, it's possible that there are subtle interactions with the other delta. I'd really like for a full qa-regression-test qemu testcase to be run against this package.
==========================================================
-- Found in releases qemu-2.0.0, qemu-2.0.2, qemu-2.1.0. Tested on Ubuntu 14.04 using Ext4 filesystems.
The command
qemu-img convert -O raw inputimage.qcow2 outputimage.raw
intermittently creates corrupted output images, when the input image is not yet fully synchronized to disk. While the issue has actually been discovered in operation of of OpenStack nova, it can be reproduced "easily" on command line using
cat $SRC_PATH > $TMP_PATH && $QEMU_IMG_PATH convert -O raw $TMP_PATH $DST_PATH && cksum $DST_PATH
on filesystems exposing this behavior. (The difficult part of this exercise is to prepare a filesystem to reliably trigger this race. On my test machine some filesystems are affected while other aren't, and unfortunately I haven't found the relevant difference between them, yet. Possible it's timing issues completely out of userspace control ...)
The root cause, however, is the same as in
http://lists.gnu.org/archive/html/coreutils/2011-04/msg00069.html
and it can be solved the same way as suggested in
http://lists.gnu.org/archive/html/coreutils/2011-04/msg00102.html
In qemu, file block/raw-posix.c use the FIEMAP_FLAG_SYNC, i.e change
f.fm.fm_flags = 0;
to
f.fm.fm_flags = FIEMAP_FLAG_SYNC;
As discussed in the thread mentioned above, retrieving a page cache coherent map of file extents is possible only after fsync on that file.
See also
https://bugs.launchpad.net/nova/+bug/1350766
In that bug report filed against nova, fsync had been suggested to be performed by the framework invoking qemu-img. However, as the choice of fiemap -- implying this otherwise unneeded fsync of a temporary file -- is not made by the caller but by qemu-img, I agree with the nova bug reviewer's objection to put it into nova. The fsync should instead be triggered by qemu-img utilizing the FIEMAP_FLAG_SYNC, specifically intended for that purpose. |
|
2014-11-25 17:22:14 |
Chris J Arges |
qemu (Ubuntu Utopic): status |
Triaged |
Fix Committed |
|
2014-11-25 17:22:22 |
Chris J Arges |
bug |
|
|
added subscriber SRU Verification |
2014-11-25 17:22:24 |
Chris J Arges |
tags |
fiemap nova openstack qemu-img |
fiemap nova openstack qemu-img verification-needed |
|
2014-11-25 17:23:50 |
Chris J Arges |
qemu (Ubuntu Trusty): status |
Triaged |
Fix Committed |
|
2014-12-01 08:32:59 |
Michael Steffens |
tags |
fiemap nova openstack qemu-img verification-needed |
fiemap nova openstack qemu-img verification-done-trusty |
|
2014-12-03 05:14:01 |
Mathew Hodson |
tags |
fiemap nova openstack qemu-img verification-done-trusty |
fiemap nova openstack qemu-img verification-done-trusty verification-needed-utopic |
|
2014-12-08 18:40:35 |
Brian Murray |
removed subscriber Ubuntu Stable Release Updates Team |
|
|
|
2014-12-08 18:46:11 |
Launchpad Janitor |
qemu (Ubuntu Trusty): status |
Fix Committed |
Fix Released |
|
2014-12-10 18:06:14 |
Vladimir Kuklin |
bug task added |
|
mos |
|
2014-12-10 18:07:09 |
Vladimir Kuklin |
mos: status |
New |
Triaged |
|
2014-12-10 18:07:13 |
Vladimir Kuklin |
mos: importance |
Undecided |
Critical |
|
2014-12-10 18:07:21 |
Vladimir Kuklin |
mos: assignee |
|
MOS Linux (mos-linux) |
|
2014-12-10 18:07:32 |
Vladimir Kuklin |
mos: milestone |
|
6.0 |
|
2014-12-10 20:49:58 |
Chris J Arges |
tags |
fiemap nova openstack qemu-img verification-done-trusty verification-needed-utopic |
fiemap nova openstack qemu-img verification-done-trusty verification-done-utopic |
|
2014-12-10 20:50:00 |
Dmitry Mescheryakov |
bug task deleted |
mos |
|
|
2014-12-11 17:53:20 |
Launchpad Janitor |
qemu (Ubuntu Utopic): status |
Fix Committed |
Fix Released |
|
2014-12-11 20:11:01 |
Vish Ishaya |
bug task added |
|
cinder |
|
2014-12-12 01:56:48 |
Tony Breeds |
cinder: assignee |
|
Tony Breeds (o-tony) |
|
2014-12-12 01:58:00 |
Tony Breeds |
cinder: status |
New |
In Progress |
|
2014-12-12 03:28:20 |
OpenStack Infra |
cinder: assignee |
Tony Breeds (o-tony) |
John Griffith (john-griffith) |
|
2014-12-15 16:26:16 |
Jay Bryant |
cinder: importance |
Undecided |
High |
|
2014-12-16 12:31:06 |
Alexei Sheplyakov |
attachment added |
|
0500-block-raw-posix-Try-both-FIEMAP-and-SEEK_HOLE.patch https://bugs.launchpad.net/qemu/+bug/1368815/+attachment/4282118/+files/0500-block-raw-posix-Try-both-FIEMAP-and-SEEK_HOLE.patch |
|
2014-12-16 12:33:31 |
Alexei Sheplyakov |
attachment added |
|
0502-block-raw-posix-use-seek_hole-ahead-of-fiemap.patch https://bugs.launchpad.net/qemu/+bug/1368815/+attachment/4282119/+files/0502-block-raw-posix-use-seek_hole-ahead-of-fiemap.patch |
|
2014-12-23 00:44:54 |
OpenStack Infra |
cinder: assignee |
John Griffith (john-griffith) |
Tony Breeds (o-tony) |
|
2015-01-26 20:32:48 |
Mike Perez |
cinder: status |
In Progress |
Triaged |
|
2015-01-26 20:32:55 |
Mike Perez |
cinder: assignee |
Tony Breeds (o-tony) |
|
|
2015-01-26 22:27:52 |
Tony Breeds |
cinder: assignee |
|
Tony Breeds (o-tony) |
|
2015-01-27 17:23:16 |
Tony Breeds |
nova: milestone |
|
kilo-2 |
|
2015-02-05 10:43:48 |
Thierry Carrez |
nova: milestone |
kilo-2 |
kilo-3 |
|
2015-02-12 15:09:35 |
Davanum Srinivas (DIMS) |
nova: status |
In Progress |
Won't Fix |
|
2015-02-24 09:25:17 |
Thierry Carrez |
nova: milestone |
kilo-3 |
|
|
2015-07-26 20:10:08 |
Atsushi SAKAI |
bug |
|
|
added subscriber Atsushi SAKAI |
2015-10-30 01:03:07 |
Eric Harney |
cinder: status |
Triaged |
Won't Fix |
|
2016-07-19 08:14:18 |
Thomas Huth |
qemu: status |
In Progress |
Fix Released |
|