Message ID | 1580148371-16643-1-git-send-email-frank.heimes@canonical.com |
---|---|
Headers | show |
Series | Disable ECKD Thin Provisioning to prevent data loss (LP: 1860535) | expand |
On 2020-01-27 19:06:10 , frank.heimes@canonical.com wrote: > Buglink: https://bugs.launchpad.net/bugs/1860535 > > SRU Justification: > > [Impact] > > * A severe problem with 'thin provisioning ECKD volumes', introduced with 19.10's kernel 5.3, was identified. > > * For enhanced space efficient (ese) volumes, errors may occur when accessing not formatted tracks. > > * In such a case the driver either formats the track on the fly for write requests or returns zero data for read requests. > > * But if a write request spans multiple tracks, the indication of an unformatted track can be in wc applied to all tracks. > > * Hence tracks containing data will be handled as empty tracks, resulting in zero data being returned on read, or overwriting > existing data with zero on write. > > [Fix] > > * Backport: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1860535/+attachment/5323313/+files/0001-s390-dasd-disable-ese-support-due-to-possible-data-c.patch > > [Test Case] > > * An s390x LPAR with Eoan / kernel 5.3 and at least one 3390 DASD (ECKD) disk is needed ('discard' enabled, which is default). > > * Writing arbitrary files (but with known content, e.g. all '1's) to fill the disk up to a certain level > > * Since all 3390 DASDs (mod-3, 9, 27 or 54 ...) have 56,664 bytes per track, writing a file (again with simple but known content) with a size of a multiple of 56,664 bytes on a thin provisioned ECKD DASD device should provoke the error situation. > > * Check the files for any modifications (partially filled with '0', cut/truncated, deleted/zero length). > > [Regression Potential] > > * The regression potential is moderate since this is purely s390x specific, > > * limited to thin provisioned DASD disks on Eoan / kernel 5.3 > > * and just disables the broken feature and reverts things back to a DASD fuctionality that is known to work. > > [Other Info] > > * For 19.10 / Eoan no real fix will be provided, but a patch for disabling this feature completely (this bug/patch). > > * The broken functionality that got introduced in Eoan, got already partially removed due to problems on z/VM. > > * For 20.04 / Focal a proper fix is in the works that will be made available as backport to Focal's kernel 5.4. > > Stefan Haberland (1): > s390/dasd: disable ese support due to possible data corruption > > drivers/s390/block/dasd_eckd.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > Acked-by: Khalid Elmously <khalid.elmously@canonical.com>
Acked-by: Marcelo Henrique Cerri <marcelo.cerri@canonical.com>
On 2020-01-27 19:06:10 , frank.heimes@canonical.com wrote: > Buglink: https://bugs.launchpad.net/bugs/1860535 > > SRU Justification: > > [Impact] > > * A severe problem with 'thin provisioning ECKD volumes', introduced with 19.10's kernel 5.3, was identified. > > * For enhanced space efficient (ese) volumes, errors may occur when accessing not formatted tracks. > > * In such a case the driver either formats the track on the fly for write requests or returns zero data for read requests. > > * But if a write request spans multiple tracks, the indication of an unformatted track can be in wc applied to all tracks. > > * Hence tracks containing data will be handled as empty tracks, resulting in zero data being returned on read, or overwriting > existing data with zero on write. > > [Fix] > > * Backport: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1860535/+attachment/5323313/+files/0001-s390-dasd-disable-ese-support-due-to-possible-data-c.patch > > [Test Case] > > * An s390x LPAR with Eoan / kernel 5.3 and at least one 3390 DASD (ECKD) disk is needed ('discard' enabled, which is default). > > * Writing arbitrary files (but with known content, e.g. all '1's) to fill the disk up to a certain level > > * Since all 3390 DASDs (mod-3, 9, 27 or 54 ...) have 56,664 bytes per track, writing a file (again with simple but known content) with a size of a multiple of 56,664 bytes on a thin provisioned ECKD DASD device should provoke the error situation. > > * Check the files for any modifications (partially filled with '0', cut/truncated, deleted/zero length). > > [Regression Potential] > > * The regression potential is moderate since this is purely s390x specific, > > * limited to thin provisioned DASD disks on Eoan / kernel 5.3 > > * and just disables the broken feature and reverts things back to a DASD fuctionality that is known to work. > > [Other Info] > > * For 19.10 / Eoan no real fix will be provided, but a patch for disabling this feature completely (this bug/patch). > > * The broken functionality that got introduced in Eoan, got already partially removed due to problems on z/VM. > > * For 20.04 / Focal a proper fix is in the works that will be made available as backport to Focal's kernel 5.4. > > Stefan Haberland (1): > s390/dasd: disable ese support due to possible data corruption > > drivers/s390/block/dasd_eckd.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > -- > 2.7.4 > > > -- > kernel-team mailing list > kernel-team@lists.ubuntu.com > https://lists.ubuntu.com/mailman/listinfo/kernel-team