From patchwork Mon Jan 27 18:06:11 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Heimes X-Patchwork-Id: 1229993 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=canonical.com Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 485yPG0h5Fz9sRX; Tue, 28 Jan 2020 05:06:42 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1iw8mU-0005by-Rr; Mon, 27 Jan 2020 18:06:38 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1iw8mT-0005be-ML for kernel-team@lists.ubuntu.com; Mon, 27 Jan 2020 18:06:37 +0000 Received: from 2.general.fheimes.uk.vpn ([10.172.194.67] helo=T570.fritz.box) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_CBC_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1iw8mT-000178-DP for kernel-team@lists.ubuntu.com; Mon, 27 Jan 2020 18:06:37 +0000 From: frank.heimes@canonical.com To: kernel-team@lists.ubuntu.com Subject: [SRU][E][PATCH 1/1] UBUNTU: SAUCE: s390/dasd: disable ese support due to possible data corruption Date: Mon, 27 Jan 2020 19:06:11 +0100 Message-Id: <1580148371-16643-2-git-send-email-frank.heimes@canonical.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1580148371-16643-1-git-send-email-frank.heimes@canonical.com> References: <1580148371-16643-1-git-send-email-frank.heimes@canonical.com> X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" From: Stefan Haberland BugLink: https://bugs.launchpad.net/bugs/1860535 Devices are formatted in multiple of tracks. For an enhanced space efficient (ese) volume we get errors when accessing not formatted tracks. In this case the driver either formats the track on the flight for write requests or returns zero data for read requests. In case a request spans multiple tracks, the indication of an unformatted track presented for the first track is incorrectly applied to all tracks covered by the request. As a result, tracks containing data will be handled as if empty, resulting in zero data being returned on read, or overwriting existing data with zero on write. While working on a proper fix disable the feature by always returning zero for the ese check. This disables all ese special handling and prevents the possible data corruption. Fixes: 5e2b17e712cf ("s390/dasd: Add dynamic formatting support for ESE volumes") OriginalAuthor: Stefan Haberland Signed-off-by: Stefan Haberland Signed-off-by: Frank Heimes --- drivers/s390/block/dasd_eckd.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/s390/block/dasd_eckd.c b/drivers/s390/block/dasd_eckd.c index c94184d..941afed 100644 --- a/drivers/s390/block/dasd_eckd.c +++ b/drivers/s390/block/dasd_eckd.c @@ -1567,9 +1567,11 @@ static int dasd_eckd_read_vol_info(struct dasd_device *device) static int dasd_eckd_is_ese(struct dasd_device *device) { - struct dasd_eckd_private *private = device->private; - - return private->vsq.vol_info.ese; + /* + * return 0 to disable ese support + * this will be changed when a data integrity issue is solved + */ + return 0; } static int dasd_eckd_ext_pool_id(struct dasd_device *device)