From patchwork Mon Dec 31 19:48:34 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Theodore Ts'o X-Patchwork-Id: 1019705 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-ext4-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=mit.edu Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=mit.edu header.i=@mit.edu header.b="UsHEoIqX"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43T7D219MSz9sN4 for ; Tue, 1 Jan 2019 06:48:50 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727498AbeLaTsr (ORCPT ); Mon, 31 Dec 2018 14:48:47 -0500 Received: from mail-eopbgr750132.outbound.protection.outlook.com ([40.107.75.132]:51328 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727311AbeLaTsq (ORCPT ); Mon, 31 Dec 2018 14:48:46 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mit.edu; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4ylo07HFHKjUKsDILcjQGj5JOFsKrzKT+yTqnvDZWTc=; b=UsHEoIqXtrEgULtTtILAVGogSId7MolGA9nMwhgV+G+so3zphaLzLaCpbijOiq0hnvUIbK5ESwTKRxmmi9RovcDyus6cRM3khC9X8FxVI3d9WI8SN1ioWu50o+jM5jdtOkUmy4ThKdKv57N5Sz1M0OwySwSDPKmQ0aygYpUq3Wk= Received: from BYAPR01CA0044.prod.exchangelabs.com (2603:10b6:a03:94::21) by BYAPR01MB5525.prod.exchangelabs.com (2603:10b6:a03:123::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1471.20; Mon, 31 Dec 2018 19:48:42 +0000 Received: from DM3NAM03FT007.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e49::208) by BYAPR01CA0044.outlook.office365.com (2603:10b6:a03:94::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1471.20 via Frontend Transport; Mon, 31 Dec 2018 19:48:42 +0000 Authentication-Results: spf=pass (sender IP is 18.9.28.11) smtp.mailfrom=mit.edu; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=bestguesspass action=none header.from=mit.edu; Received-SPF: Pass (protection.outlook.com: domain of mit.edu designates 18.9.28.11 as permitted sender) receiver=protection.outlook.com; client-ip=18.9.28.11; helo=outgoing.mit.edu; Received: from outgoing.mit.edu (18.9.28.11) by DM3NAM03FT007.mail.protection.outlook.com (10.152.82.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1471.13 via Frontend Transport; Mon, 31 Dec 2018 19:48:41 +0000 Received: from callcc.thunk.org ([104.200.153.98]) (authenticated bits=0) (User authenticated as tytso@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id wBVJmdHd006844 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 31 Dec 2018 14:48:40 -0500 Received: by callcc.thunk.org (Postfix, from userid 15806) id A2DB97A0192; Mon, 31 Dec 2018 14:48:38 -0500 (EST) From: Theodore Ts'o To: Ext4 Developers List CC: Theodore Ts'o , Subject: [PATCH 1/3] ext4: avoid kernel warning when writing the superblock to a dead device Date: Mon, 31 Dec 2018 14:48:34 -0500 Message-ID: <20181231194836.3761-1-tytso@mit.edu> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:18.9.28.11; IPV:CAL; SCL:-1; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10019020)(136003)(376002)(39860400002)(346002)(396003)(2980300002)(199004)(189003)(2616005)(6266002)(6666004)(52956003)(5660300001)(36756003)(47776003)(2870700001)(14444005)(305945005)(2906002)(90966002)(356004)(1076003)(88552002)(86362001)(4326008)(8676002)(450100002)(316002)(50466002)(50226002)(126002)(246002)(42186006)(106002)(786003)(48376002)(478600001)(36906005)(486006)(51416003)(6916009)(54906003)(26826003)(26005)(336012)(186003)(106466001)(476003)(75432002)(8936002)(103686004); DIR:OUT; SFP:1102; SCL:1; SRVR:BYAPR01MB5525; H:outgoing.mit.edu; FPR:; SPF:Pass; LANG:en; PTR:outgoing-auth-1.mit.edu; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: 1; DM3NAM03FT007; 1:Kfh4XuLAzxo565XlRfcllbWzOSgV36DajFm+t1M8PK0b4+mMP5kRL5DJllZrwEQXEBxc3ahkIkSgzBeBk7Ubn98Ix1sySPlUfqovgiDAGx+t8Ou2ZjLHtYYguEZqxG43 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d0ef62d2-307d-411d-53ce-08d66f58f77e X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600109)(711020)(4608076)(4709027)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060); SRVR:BYAPR01MB5525; X-Microsoft-Exchange-Diagnostics: 1; BYAPR01MB5525; 3:Ycf8ANj5ZaZS0HH4uwMziz30bG6s3HiKL3IBN3eJ4x5gpda971QYxziaidtu8uU5X21EZ76spcrgLcNOvE9UC2Lq3bHbIZX1/co3yVe/beRrv+BU3Yl9JvFprYwdX3qJmGax8Qow3y7YyKIW9o79R+5TV3xw637xZ+oxQx8fC7j3ORH3vxqKBb27BJn4eY40CRVIeOUuphTF68e8L+h5YDNRZNGW96fpVyzbHvE0lh0eKutYorIDcj4WgGTt+1L58T9CA4Gxx5INFe5AtGxY00jswAJw1Saqbxi0LK3WPGEbOhQDhS7i1tnXIljpXwwwK8g6RB+38yRM4ZF2+UHoRg==; 25:0RSTANkr5Ir7vTEoZJ2KHtQyjFnbnEQuaTRgA+v6altdBMBpnyutSPRePVx96bmXxMcRSoUjbsmosaBjrS7wfAB7YAd9Pc2lffDgawnwfxKJRP5hrhrPy1gfmoqKo2RY1WB4ohDHsDlRY1viEeg5fN4PeWp2lCJd45b9Dts4h2ZRdJEkPXJ9JmZ0fyBSZIfWHOzT7gySfgn4tPQ3s0Sq3HTHl2rg2tnYhN2Bzr7U06J6aF5XyKrb/iXaegKZwm8MjFvSgmtsXUi3PfZLH/3ZYkBOqAQoN8+6uGHtFtimCRUwxCzgIaFjcJsioDh6DSTq7c9DBV6O2xAPDN7LAHtw7A==; 31:TKGhY+gq4f5XHTUrx6FK+dPKx9OI8htvcnBQaXWU0S8RujjsH/Zlj6a2eM0DvpH1uudrGeCH41qvcFa8l7rj2kAxeSdYK6VA9RT604HCUsSaJfjWbCXbXmnWUr8Toqtu5z/QDt1+5C+Ywhcf89GLlTeFAZiYUjgFp3ILDe4CiV7IO/4uHJ5TzhNepsuW4nxViNFqeIwnkSEewDEGjHm4vHuisTZJ3hojMQE6MoW4cKk= X-MS-TrafficTypeDiagnostic: BYAPR01MB5525: X-LD-Processed: 64afd9ba-0ecf-4acf-bc36-935f6235ba8b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; BYAPR01MB5525; 20:yBCFC9T6YUqFv1239lPx5qbfrvRAMOM6QH0I6n8U0TO6xykZWfxwoN2iM+gqtQ1r3v2UlWM9ikb+B6v195GsoeLyzGkZrxt61yZ9M0YwGFcgxesV+GIl2GLJCAf+VXJWYs5cDWk3JmGMM80462+vEhUfbxBL0RXlYa22ZMU+ldxLJ7iVp5jCHoQUnSlZ1IacnnT8pGzGcnm9fDmuGhbzfi+2YzUwg1cBlr0kWZz8zVO2W+cnh+mInXzqpPeRiq2i8ImWgzazVc1pPcxQyHkcvpNEDJ/E1Htv1trID1W294+p8AM0TjDBjg+DFjEJmudi6hweHKJcq8EeVA4MteifVIfoSNHdPKoe5/iaizpzsTlkZmZw7LaPVfjgcNFhSMBzDp+tNswDQNekWMYNMhWTmFq7f6Ew85aN/XWnnFdklnm8SiTfda39562uJqwQQhguer2wpYeKu3UXFDz5Tm2RH1/rSUgOMDQX7UsG3+82pk3TIAm5Mfsf0M5heYu+YzYp; 4:TBDhJReN3P49nT0ZRFvevG4AcwkKDYXbP5H7wGzu9jKsQdnf3uUlkhwVwzcVxe23gOGsR/1Ihoun8v/sy+Aik/By2gttxWXk2faiJGWufdWOi/CMrk0ubM8h/G6ujdYe36v3qIt/AZbKVwHFMagZIRp8+M/8B5Y2wtq24uz7r1woACJGq6Ld7uj0S1Xt8Mkkok7MCxlD6Y/fnsJsfya8wGpZqTKVDqcWcR9XK2oi6wciPRTr1t4f+/rTznc1UByHyMwEaOB5K51Mbi3O9TF1ow== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(3230021)(908002)(999002)(5005026)(6040522)(2401047)(8121501046)(10201501046)(3002001)(3231475)(944501520)(52105112)(93006095)(93004095)(6041310)(201703131423095)(201702281528075)(201702281529075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123562045)(20161123560045)(20161123558120)(201708071742011)(7699051)(76991095); SRVR:BYAPR01MB5525; BCL:0; PCL:0; RULEID:; SRVR:BYAPR01MB5525; X-Forefront-PRVS: 0903DD1D85 X-Microsoft-Exchange-Diagnostics: 1; BYAPR01MB5525; 23:1o9J07uZHPzB50Z7sr1ns3tshBAo40Pms+gPb7UIwPJ6AqJxdYUCe2w91o099hB1DLsUc8RUkseu438DlPfurv+hWgRVNwoypsH/10gOHb+qeCPA18WrRmAwZfwSMz+VUyXoKWdrwUGGo2czhTtllXDql28mWl1krPrAwodXqlKxAVOwku0bRpUa+Bvasb1SrkhwDPjah66YcAenT3qz4UDBpsdlMdGOVX9z3NwYftuYaScTJi8/MJNlcHyee+QzhSJmyMVuhO2sVgEC6go5s3N9ihUw1fg6cqDkkeZuZ4QliEcKPvsQ+V19WGeNV5Qs3xlPoYgCkRve4jhLoVVGwyCWO1lRtX50pMKZPlgjLi9DKiH0SIKVwtUpU99y53SblMbUzsCU+7hJ1K3FS8GMDyGU2vxdkpWrtwVxijAdylBahMYPGFTCvUM6R6OaQN2rbwSsa5WlmwXQDoTpQvsmMi5pl9hY/Y7hMo7kO2vcd+sFRFx66OpycSuEuHI9c4ZmuI2mRovU1KdlXGnpc3WZLXGNEjJc/fQQxrdQiOZK7UWSHaZcOqxvXDbJcyRzcMkcMAhOALavQvnx8S7fCPDn5OHIYk2DlKOufP/bB8MPm1TK1x2ODsLaWmQBNOcSDkDQa/NI0Tr7SlQqJbkW83qvgS30/6bAkb9ETmQJaI+3FHcyp68hkd8tAYhSrS9pgqWa9a/XkMgFSGLCJQD16+tNMDSGLOE4e4DxBJ3MB3BSesKE0zEf6mfi5MQ5YQqOm1Zl5aLgnUTRS7cRn90rO0QLcJGmcMGvChRNxyfJvVdlWoeZhk4iVd/Xs012/0OBql+ZPgajYzdUcwY+CohsIkhuKsNcK8xddGE3ht6FHjs/RIqpwfIZMPBObKLLGF605OlpmvfPaeEzm2jKzXzV9SVx+QsCwU8OEfJ1peIKfIbkmbCQZd6N5dnLIZysHyyq71KrUrsPBsXKx22LBJg5bNVnYPq9qu7XlQ2mWAWelnTmzyXcPZTgh5wnJwzVgk+q4x7qc/QpqxhHlbXgfsIH2RDpsDlcOz5BsENHwzvzVdlOUMsU1+9+8jFTVqWMZnu16l7wgE0X3U7KjUUddj/t+lf7XjRsuA2W1X+qMrQGGogO06qNoO7qn14CIP9O48TWOyGK X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info: PknWgJVB3LWfX4q7ids6zO42cMFeRYxyaBKbfsrez0kJ1s7Jw3ssvRNrMYUETV1nfRWNx1HcxVIXgNNhH0wV7f7YTyXJcB/6SmKjhr3PKhxkY/5pcZxOogodpVqbnzQO6mxKTlZ+dtl4uDnNFZ73H91FL/g5HRr/sQ/iY8XT8PWfkpdXb2t+mFG80cR00rYl5egZEz04wIsRCA+tJuRFM8U59HRZ6BU/W5mOeonYRPTDDhEtawZwDyVX08z6XN/XiHnxL7Yw4+pDbWf+tlVeY9/uWUQV3VUniL0dMDecnlZhmWzhnBoYKSH59SOCULne X-Microsoft-Exchange-Diagnostics: 1; BYAPR01MB5525; 6:Bo+D28n96k41OGfO7yIti7xjoTUtpSYkw9MYfvqEZDOG4qd+KZrV07SqGBr4wrspLvmLjjdLgO6Yf9tjmyDwrwpr2HkDKOLX96MdVZCz/Vqa9imF9SWvMq4FSERyfsBrzSfP0Nb23+2CtyvInmaG1+K7E88nOQN4c2BS0saVS8Go+do3WXVn6e5pPM08gPUA2BCJmPF6l0Rc86D6iPMCc0A/OXKN70NA4AAW08hRdxQxMHsJ9g2KsalaZS6qMD+10uzXeSnpIPEZYW/Vga2xw08jJqbP9F+kCYyYckmrOHHvw0QOqQM+A5UFHyNOrIu6hx893oZjXZqgu+533akJ5h+7vqLP6mXmlXqXNj/x5Slsq94bzBVDKKrt7euwGIxZzaXC/99UDFeHqbANdZghwZidcA5MTgL9+1oe+u5GwbCbI8r3dGOTesS7n5ZZCN2Cj3opJmjqpgjOTflX6Dn66Q==; 5:desHs8ovgBBv5l6+cPOdJ44afPOvyKwpoccb0+nxe64cj9tHV9cJsXN5mQFlBINxyjEHve8sTAHrQn17y7NhYRjONgB8hcoMaXuoHhYMyJjKE0MY0E5euZy/w0jjy06b/MxhHMw28IE6Rk/XtVwfClA6glZL57fvAZh3Zyebj9w=; 7:xfOE8lVkrzTCS76PHy4HMZUyTlb5vObxEIbHz5NfRZ6VJztfYdUW0xidacOhSCz5K9BrUy4Nifp1um8Nix114HlgWxmsS6CJifDQpQcnR5OId5k3QeIM1/1U5td7BZDpp+TwTOXGjQtmqao+YWlp0g== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: mit.edu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Dec 2018 19:48:41.7060 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d0ef62d2-307d-411d-53ce-08d66f58f77e X-MS-Exchange-CrossTenant-Id: 64afd9ba-0ecf-4acf-bc36-935f6235ba8b X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=64afd9ba-0ecf-4acf-bc36-935f6235ba8b; Ip=[18.9.28.11]; Helo=[outgoing.mit.edu] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR01MB5525 Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org The xfstests generic/475 test switches the underlying device with dm-error while running a stress test. This results in a large number of file system errors, and since we can't lock the buffer head when marking the superblock dirty in the ext4_grp_locked_error() case, it's possible the superblock to be !buffer_uptodate() without buffer_write_io_error() being true. We need to set buffer_uptodate() before we call mark_buffer_dirty() or this will trigger a WARN_ON. It's safe to do this since the superblock must have been properly read into memory or the mount would have been successful. So if buffer_uptodate() is not set, we can safely assume that this happened due to a failed attempt to write the superblock. Signed-off-by: Theodore Ts'o Cc: stable@vger.kernel.org --- fs/ext4/super.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/ext4/super.c b/fs/ext4/super.c index d6c142d73d99..fb12d3c17c1b 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -4902,7 +4902,7 @@ static int ext4_commit_super(struct super_block *sb, int sync) ext4_superblock_csum_set(sb); if (sync) lock_buffer(sbh); - if (buffer_write_io_error(sbh)) { + if (buffer_write_io_error(sbh) || !buffer_uptodate(sbh)) { /* * Oh, dear. A previous attempt to write the * superblock failed. This could happen because the