Received: by 2002:a05:7412:251c:b0:e2:908c:2ebd with SMTP id w28csp2081489rda; Tue, 24 Oct 2023 11:40:19 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHKdbJyWtGpNfakF5Xtfr3mNs3wI1AvAA86VkIHwLCdVzZuiXa5ZfMa105nho+9y/+URoNp X-Received: by 2002:a05:6a20:244b:b0:161:25f7:40ce with SMTP id t11-20020a056a20244b00b0016125f740cemr3715310pzc.27.1698172818674; Tue, 24 Oct 2023 11:40:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698172818; cv=none; d=google.com; s=arc-20160816; b=RHL3ht74ip2QjE2t5JFcAPtZSpocjMHLWpvQQkCKkL72r3rfjP1e/WcbuVEhZfInUs QMojM9yQDCXMuLI4S+NnMDjiEKJAHc6Y8xCWb7FBQ+YF8prjLbsTU6BUEqsH2ej78XBa mftGmPjzORRbDGVVYljdZHb2K55+MUNefn1+c3U/ow2mtucGDoYH6ISd9tNT0ozh5K82 dBR7hUKV9X1/Cr6mi2C1vn5FWHb6MU/nh5sCPcD2JUSalV9OGiSLv9CLtPlk9lCrnJJd mNbBEVveeQV5JZeFQNxvbo6kam6F0ytfq7JMZFFXitnyGJsZUtARXM+i5ORXrInZKkCE fdZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent :content-transfer-encoding:references:in-reply-to:date:cc:to:from :subject:message-id:dkim-signature; bh=Xe0wF7mgvmZCFWwP7fcGH+Eub1oED/IAnnGG5PkQ1xU=; fh=7m+tztmNcGfFFalqtAtA/9n/AHR/jWfS9kbRdBfyMBw=; b=xc6xWlBuVqU7BrdWzz51yDHPRnxiGQ0UH6u3XGDbe9NR2COidJhLEtq00hNtu9bLFd 9lg+gOdg47LZtR8fIcX/h8Jg/nXFLOSmj4/8RQs7Cx/ncZp97ak/q93gyrUGaW7JGOOE JqxVS8n2+W+6iJ+894pu9vfLheFE4riv9MvUaJPdPrZbs3ay8fNFG3ZVvUu7O+tdiuU3 Pt/2cszJKSwn2p+mH7Q5JNwzMouGXjPtryff4Vr0I5EKlj4/kJJGarcDY+Aln9zOCpXt 226QTeegAJRRPXI7YFHmedLh4b52Cpu4EnnyDStdmg0YUIjq58cy+wzoDDUn5uF27aOM 8ssw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=aR5dfj2B; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from pete.vger.email (pete.vger.email. [23.128.96.36]) by mx.google.com with ESMTPS id a22-20020a637f16000000b00557531eafb0si8456445pgd.559.2023.10.24.11.40.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Oct 2023 11:40:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) client-ip=23.128.96.36; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=aR5dfj2B; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id 959D9802FB08; Tue, 24 Oct 2023 11:40:13 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344118AbjJXSkN (ORCPT + 99 others); Tue, 24 Oct 2023 14:40:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37310 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234866AbjJXSkM (ORCPT ); Tue, 24 Oct 2023 14:40:12 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9A7C89F; Tue, 24 Oct 2023 11:40:10 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E8B1AC433C7; Tue, 24 Oct 2023 18:40:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1698172810; bh=Xe0wF7mgvmZCFWwP7fcGH+Eub1oED/IAnnGG5PkQ1xU=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=aR5dfj2B+9L9WTja+3SyJ8WB9QMgZo4R+vxoFDhQoAUL1rtUOh+Oh5Q8DQmdfVTO4 yGp5tE/69QdXH5HxMqJHG7wcibIkHLtTyOezwvPMxpAm86wk65poIE/uewxy/Ie6v3 hSHpwvYzQ6e9UEWsvO3SaWQYijZfMxf09CUdubjLB4ttXC80RueJZB863KJ470NSzB NMRpUvxtODKii5ufHHS1e4VgM9qMeTvQltU7KO0D7dMhAnpxAiASNlUi/neKfJiDK+ xe5dn9XSPdXwMQCwnpFDi/Iua7ZyggSyeH4EgK4Vnte8CUNiPzFVJE4c5FjHvkEK1O cyliPAfxW2aoA== Message-ID: Subject: Re: [PATCH RFC 2/9] timekeeping: new interfaces for multigrain timestamp handing From: Jeff Layton To: Amir Goldstein , Dave Chinner Cc: Linus Torvalds , Kent Overstreet , Christian Brauner , Alexander Viro , John Stultz , Thomas Gleixner , Stephen Boyd , Chandan Babu R , "Darrick J. Wong" , Theodore Ts'o , Andreas Dilger , Chris Mason , Josef Bacik , David Sterba , Hugh Dickins , Andrew Morton , Jan Kara , David Howells , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-xfs@vger.kernel.org, linux-ext4@vger.kernel.org, linux-btrfs@vger.kernel.org, linux-mm@kvack.org, linux-nfs@vger.kernel.org Date: Tue, 24 Oct 2023 14:40:06 -0400 In-Reply-To: References: <5f96e69d438ab96099bb67d16b77583c99911caa.camel@kernel.org> <20231019-fluor-skifahren-ec74ceb6c63e@brauner> <0a1a847af4372e62000b259e992850527f587205.camel@kernel.org> <61b32a4093948ae1ae8603688793f07de764430f.camel@kernel.org> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) MIME-Version: 1.0 X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (pete.vger.email [0.0.0.0]); Tue, 24 Oct 2023 11:40:14 -0700 (PDT) On Tue, 2023-10-24 at 10:08 +0300, Amir Goldstein wrote: > On Tue, Oct 24, 2023 at 6:40=E2=80=AFAM Dave Chinner wrote: > >=20 > > On Mon, Oct 23, 2023 at 02:18:12PM -1000, Linus Torvalds wrote: > > > On Mon, 23 Oct 2023 at 13:26, Dave Chinner wrot= e: > > > >=20 > > > > The problem is the first read request after a modification has been > > > > made. That is causing relatime to see mtime > atime and triggering > > > > an atime update. XFS sees this, does an atime update, and in > > > > committing that persistent inode metadata update, it calls > > > > inode_maybe_inc_iversion(force =3D false) to check if an iversion > > > > update is necessary. The VFS sees I_VERSION_QUERIED, and so it bump= s > > > > i_version and tells XFS to persist it. > > >=20 > > > Could we perhaps just have a mode where we don't increment i_version > > > for just atime updates? > > >=20 > > > Maybe we don't even need a mode, and could just decide that atime > > > updates aren't i_version updates at all? > >=20 > > We do that already - in memory atime updates don't bump i_version at > > all. The issue is the rare persistent atime update requests that > > still happen - they are the ones that trigger an i_version bump on > > XFS, and one of the relatime heuristics tickle this specific issue. > >=20 > > If we push the problematic persistent atime updates to be in-memory > > updates only, then the whole problem with i_version goes away.... > >=20 > > > Yes, yes, it's obviously technically a "inode modification", but does > > > anybody actually *want* atime updates with no actual other changes to > > > be version events? > >=20 > > Well, yes, there was. That's why we defined i_version in the on disk > > format this way well over a decade ago. It was part of some deep > > dark magical HSM beans that allowed the application to combine > > multiple scans for different inode metadata changes into a single > > pass. atime changes was one of the things it needed to know about > > for tiering and space scavenging purposes.... > >=20 >=20 > But if this is such an ancient mystical program, why do we have to > keep this XFS behavior in the present? > BTW, is this the same HSM whose DMAPI ioctls were deprecated > a few years back? >=20 > I mean, I understand that you do not want to change the behavior of > i_version update without an opt-in config or mount option - let the distr= o > make that choice. > But calling this an "on-disk format change" is a very long stretch. >=20 > Does xfs_repair guarantee that changes of atime, or any inode changes > for that matter, update i_version? No, it does not. > So IMO, "atime does not update i_version" is not an "on-disk format chang= e", > it is a runtime behavior change, just like lazytime is. >=20 This would certainly be my preference. I don't want to break any existing users though. Perhaps this ought to be a mkfs option? Existing XFS filesystems could still behave with the legacy behavior, but we could make mkfs.xfs build filesystems by default that work like NFS requires. --=20 Jeff Layton