Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp3163550pxk; Mon, 5 Oct 2020 02:48:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw77r2nOo8BgF8TJLWs8CHoVEReKDo5aiT6cpwqcx1nibuHwZXCQmUYeOFZTOxGV92baatY X-Received: by 2002:aa7:ccd7:: with SMTP id y23mr15151102edt.106.1601891322147; Mon, 05 Oct 2020 02:48:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1601891322; cv=none; d=google.com; s=arc-20160816; b=V10/+L8wj/b71V+bXl+SvGfnUlx6LX6RLQ5jnWIlJ0Xwenp4YBq+DxSlrPm54+r+B0 U0scRWHTjpfq5NywsHX84EdsPbZy6CApqzsrddOWnep5RNr1EUZyTxvxe++lj31zBlen dPZLcq9PmjLyRzWR8u5eIee4VpfvI8b1PxBYU6z0vHUq1ku37VA4eKlwnIfGyJZC51My kRL169689ru6/QQGYYuBZQLiWxS6Lc2+Qvmv41kYUsB3eJntXuvsgw4nvyDYG62Mb3+Q vJmo9IYDZtb+ANmqi36Oed+EQnU0m67X2C+Obk0JmpwxRgJDns2+YfP1mW8aoJUG7XbD QXvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date; bh=VhNRcpsVoYPApM0xaZn3T0rUo0WAe0ZCuqp1jcTDRto=; b=QKQ4dnbyz/lxv4dpnbqHCQJK8Oq3IpYFbHztRJFsfF+p8vljcbHEFjylBzc7Ckjtqw w5bc8wHBvAkQs6CjDvD8cOxqVGPVYq5+oepOUTpZkBTFU22Oa2tk8+4tRHyHqzHP0s+8 2h3NgAKffORrFUzxaZrXq0O6h86SsRxyGwMPuZZ1bfHKlPXOkwMvQxPS6MGGHSfa7jKw cTvNovjYaXGwa4U5jThCxprKDPqVSr6QDgjRb8pbLsxShuRK3VsxenxiQ5qPMsp6FG7a 45morVleqcL9UjlLrCH4HFC9iWk/B+l7HwlQyrku3EFR1V+Rqtx/sEBWOl/bYqEVSx+z 2Ftg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-ext4-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 hk12si4676734ejb.25.2020.10.05.02.48.08; Mon, 05 Oct 2020 02:48:42 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725947AbgJEJqD (ORCPT + 99 others); Mon, 5 Oct 2020 05:46:03 -0400 Received: from mx2.suse.de ([195.135.220.15]:43622 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725887AbgJEJqD (ORCPT ); Mon, 5 Oct 2020 05:46:03 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 67430AE02; Mon, 5 Oct 2020 09:46:01 +0000 (UTC) Received: by quack2.suse.cz (Postfix, from userid 1000) id 191E51E12EF; Mon, 5 Oct 2020 11:46:01 +0200 (CEST) Date: Mon, 5 Oct 2020 11:46:01 +0200 From: Jan Kara To: Josh Triplett Cc: Linus Torvalds , Theodore Ts'o , Andreas Dilger , Jan Kara , Linux Kernel Mailing List , linux-ext4@vger.kernel.org Subject: Re: ext4 regression in v5.9-rc2 from e7bfb5c9bb3d on ro fs with overlapped bitmaps Message-ID: <20201005094601.GB4225@quack2.suse.cz> References: <20201005081454.GA493107@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20201005081454.GA493107@localhost> User-Agent: Mutt/1.10.1 (2018-07-13) Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org Hi Josh! On Mon 05-10-20 01:14:54, Josh Triplett wrote: > Ran into an ext4 regression when testing upgrades to 5.9-rc kernels: > > Commit e7bfb5c9bb3d ("ext4: handle add_system_zone() failure in > ext4_setup_system_zone()") breaks mounting of read-only ext4 filesystems > with intentionally overlapping bitmap blocks. > > On an always-read-only filesystem explicitly marked with > EXT4_FEATURE_RO_COMPAT_SHARED_BLOCKS, prior to that commit, it's safe to > point all the block and inode bitmaps to a single block of all 1s, > because a read-only filesystem will never allocate or free any blocks or > inodes. > However, after that commit, the block validity check rejects such > filesystems with -EUCLEAN and "failed to initialize system zone (-117)". > This causes systems that previously worked correctly to fail when > upgrading to v5.9-rc2 or later. > > This was obviously a bugfix, and I'm not suggesting that it should be > reverted; it looks like this effectively worked by accident before, > because the block_validity check wasn't fully functional. However, this > does break real systems, and I'd like to get some kind of regression fix > in before 5.9 final if possible. I think it would suffice to make > block_validity default to false if and only if > EXT4_FEATURE_RO_COMPAT_SHARED_BLOCKS is set. > > Does that seem like a reasonable fix? Well, but EXT4_FEATURE_RO_COMPAT_SHARED_BLOCKS is your internal feature that's not present in current upstream kernel AFAICS. So if you have out of tree (even disk format incompatible) filesystem feature and upstream kernel changes in a way that breaks you, I'd say it's your problem to keep the pieces together? So IMO you need to change implementation of your EXT4_FEATURE_RO_COMPAT_SHARED_BLOCKS feature to work with more paranoid block validity checking. Whether you'll do that by disabling block validity or by properly teaching block validity code about that feature is up to you but I don't think that belongs to the upstream kernel since that is correct as is... Honza -- Jan Kara SUSE Labs, CR