Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp394208ybk; Wed, 13 May 2020 03:03:08 -0700 (PDT) X-Google-Smtp-Source: APiQypI3bI69ROOsc0Sk66BxfDmcatRCpwf26DQmBOOllwTnVPagHW4QX59uFu8LdGBvQC/NycvY X-Received: by 2002:a17:906:1e47:: with SMTP id i7mr21956129ejj.61.1589364187944; Wed, 13 May 2020 03:03:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589364187; cv=none; d=google.com; s=arc-20160816; b=rdkhbY+B6/OBIX0koH/45C/5HN0Qse1c1YXPGm30YKw+1b3gdQl/aGREZ+P+l2EwFa bRwcQ3yuhoMXJMFnjwQKK9UhRFVtpAsNYuRbj4XPOyKbGLZ6WfjgapaYG0lQ2cOyPv+y /3HfBCxSflqVlBHe/n6oK5bxeMC4oD9Fp23DeUfV3t6iZCvEn+JKJ4XSeGNXcbAjdk51 gk6gXepcbsKrKjQv7GqmwpMrdA0fDiDICLiWbUfg8mjgXPiNFeUbEHQ3l6tIs0AXrNz/ 9N8KCPxTEQyFrnGqTuPM5N6D/9ZNl6jZxAX+Cmw0WRaI/Jh6KXc1KBEPzaB7vo0T8X9R gUjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=BGQoI1c/rUVx7CK4dxjlzv5I2Himbgi2bV+B1i0Tlto=; b=YAIpPlPzFXLXzA1u925Z/d7BdzYzIPspFIZe2IHDso3gypomqaGk5xzdYjTyaW7mxL fErF4QWZFjb9oeh2NnZsVhSWBZ1g9Njjs6HO5C2bFyTQL9Rkzltp8Pjki+mqgLlmtyU7 jkcBJkjZVg0jXBoctFSRQejksuQnvZWEcDOsjrE3K8iCxGNwjxBqjQpABVDEzYyMXq0D n0RiWL2MUXo1D0xoj18hz/EpHJApWcwW2b/f2eLgCy+nnTp3O0jv6mEVVl2VwE3WRCCQ gVJ1D2gkerlCLv3f9BjRLHm1csta95SIA/Tj3hMLeFLP0O6LJN69uU3w8PE9wsi27oHi ntJw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=FqU8Zfnz; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t9si8985298ejr.422.2020.05.13.03.02.43; Wed, 13 May 2020 03:03:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=FqU8Zfnz; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388345AbgEMKAI (ORCPT + 99 others); Wed, 13 May 2020 06:00:08 -0400 Received: from mail.kernel.org ([198.145.29.99]:53886 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387798AbgEMJw2 (ORCPT ); Wed, 13 May 2020 05:52:28 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id B5E9B20740; Wed, 13 May 2020 09:52:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1589363548; bh=8BrPbkyC/yqgOYLEP9Es204DPM/VFXPE8zBaObCClVI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FqU8ZfnzMUgVJuXZOn0SDnVaJ3nV129cK7gGYrpOeJf6PebCVGXpnboTHPofYs5bk aoxVHROuwENgFWWNga9W7NKfTupS7byJXGE+7fOrou342YydxnRw02kzFX9U9ccs2I 62boPoERjsNQsqHtWH/DkqVEgo1N7TB4xNo8t0+g= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, "Aneesh Kumar K.V" , Ritesh Harjani , Theodore Tso Subject: [PATCH 5.6 007/118] ext4: dont set dioread_nolock by default for blocksize < pagesize Date: Wed, 13 May 2020 11:43:46 +0200 Message-Id: <20200513094418.289827916@linuxfoundation.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200513094417.618129545@linuxfoundation.org> References: <20200513094417.618129545@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Ritesh Harjani commit 626b035b816b61a7a7b4d2205a6807e2f11a18c1 upstream. Currently on calling echo 3 > drop_caches on host machine, we see FS corruption in the guest. This happens on Power machine where blocksize < pagesize. So as a temporary workaound don't enable dioread_nolock by default for blocksize < pagesize until we identify the root cause. Also emit a warning msg in case if this mount option is manually enabled for blocksize < pagesize. Reported-by: Aneesh Kumar K.V Signed-off-by: Ritesh Harjani Link: https://lore.kernel.org/r/20200327200744.12473-1-riteshh@linux.ibm.com Signed-off-by: Theodore Ts'o Signed-off-by: Greg Kroah-Hartman --- fs/ext4/super.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 446158ab507dd..70796de7c4682 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -2181,6 +2181,14 @@ static int parse_options(char *options, struct super_block *sb, } } #endif + if (test_opt(sb, DIOREAD_NOLOCK)) { + int blocksize = + BLOCK_SIZE << le32_to_cpu(sbi->s_es->s_log_block_size); + if (blocksize < PAGE_SIZE) + ext4_msg(sb, KERN_WARNING, "Warning: mounting with an " + "experimental mount option 'dioread_nolock' " + "for blocksize < PAGE_SIZE"); + } return 1; } @@ -3787,7 +3795,6 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent) set_opt(sb, NO_UID32); /* xattr user namespace & acls are now defaulted on */ set_opt(sb, XATTR_USER); - set_opt(sb, DIOREAD_NOLOCK); #ifdef CONFIG_EXT4_FS_POSIX_ACL set_opt(sb, POSIX_ACL); #endif @@ -3837,6 +3844,10 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent) sbi->s_li_wait_mult = EXT4_DEF_LI_WAIT_MULT; blocksize = BLOCK_SIZE << le32_to_cpu(es->s_log_block_size); + + if (blocksize == PAGE_SIZE) + set_opt(sb, DIOREAD_NOLOCK); + if (blocksize < EXT4_MIN_BLOCK_SIZE || blocksize > EXT4_MAX_BLOCK_SIZE) { ext4_msg(sb, KERN_ERR, -- 2.20.1