From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9244AC30658 for ; Tue, 2 Jul 2024 11:44:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2615F6B0096; Tue, 2 Jul 2024 07:44:26 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2121A6B0098; Tue, 2 Jul 2024 07:44:26 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0D9506B0099; Tue, 2 Jul 2024 07:44:26 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id DE2FD6B0096 for ; Tue, 2 Jul 2024 07:44:25 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 9A5AD82114 for ; Tue, 2 Jul 2024 11:44:25 +0000 (UTC) X-FDA: 82294629690.11.626ED81 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf13.hostedemail.com (Postfix) with ESMTP id D3B6720020 for ; Tue, 2 Jul 2024 11:44:23 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=jEXTQq+s; spf=pass (imf13.hostedemail.com: domain of jlayton@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=jlayton@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719920641; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=UmZsE+AjLizDxKJ5HHWqPFuIGQkriS5+xN/E/9SwgFA=; b=jTAELXoMBi1pqQl3xYIZLqTyg/TkBpCEfyoSuVrnykfzzLkMdRrlu3yti//LJpZ7AFBpLo iqFFc2JrJxiZnBdkwkFYuNOcot8ouJLA33/sfRV8VS2kwnx8NNMkleU3caP34XE8BtjJmo ieSC67eWKHRzg4SIY3P2rADoCjME0bI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719920641; a=rsa-sha256; cv=none; b=xSCMmy1D6GlImi+rp6LP+jd4D/Ff/Wp3TxD53wJ2CpNOH6cY16ayiHg8W6Dfsa1G2SMFAp pPxKI9VejFMapXoq7Fn+aT9i7VVyrka4ZpNnWoTXpYk6YIC/BpxY7onUqLbOhp7AaXY05R DdwuOX6thvqLVY5SWiFAd5AjiXhKgzw= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=jEXTQq+s; spf=pass (imf13.hostedemail.com: domain of jlayton@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=jlayton@kernel.org; dmarc=pass (policy=none) header.from=kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id EF4FB61B23; Tue, 2 Jul 2024 11:44:22 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 897E5C2BD10; Tue, 2 Jul 2024 11:44:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1719920662; bh=UmZsE+AjLizDxKJ5HHWqPFuIGQkriS5+xN/E/9SwgFA=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=jEXTQq+spItmIkVuPduP7ABviELlqAVWHGYfIwe6yHHIjBdbX/143Vh2POZJBHUJo ZAVl59Xue5b0EBBYo11uGB99dEkpQr29hlvVLh+agnVVG+QuPTdR9sb3QAXyeHdNW+ EEiwJz0aUWSzA5SQ1Qu8hoMFthjUIhJo9SE03BSN4BfOui4Hv8dwNbKyrWBfjGKUNK QF82JSrZ6u1ug0i1JQDShW3qP7rECXRhORRzj3udENPWAJVuJuicfdq+GjZc3NilSJ eAcCd5cvD3fqSvq2RXton8T9qaT25F/1Plbej8xLKD9edamvu59g1P8q3sAVtjOzjA Niw0aHng+j7Pg== Message-ID: <958080f6de517cf9d0a1994e3ca500f23599ca33.camel@kernel.org> Subject: Re: [PATCH 01/10] fs: turn inode ctime fields into a single ktime_t From: Jeff Layton To: Jan Kara Cc: Christoph Hellwig , "Darrick J. Wong" , Alexander Viro , Christian Brauner , Steven Rostedt , Masami Hiramatsu , Mathieu Desnoyers , Chandan Babu R , Theodore Ts'o , Andreas Dilger , Chris Mason , Josef Bacik , David Sterba , Hugh Dickins , Andrew Morton , kernel-team@fb.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-trace-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, 02 Jul 2024 07:44:19 -0400 In-Reply-To: <20240702101902.qcx73xgae2sqoso7@quack3> References: <20240626-mgtime-v1-0-a189352d0f8f@kernel.org> <20240626-mgtime-v1-1-a189352d0f8f@kernel.org> <20240701224941.GE612460@frogsfrogsfrogs> <3042db2f803fbc711575ec4f1c4a273912a50904.camel@kernel.org> <20240702101902.qcx73xgae2sqoso7@quack3> Autocrypt: addr=jlayton@kernel.org; prefer-encrypt=mutual; keydata=mQINBE6V0TwBEADXhJg7s8wFDwBMEvn0qyhAnzFLTOCHooMZyx7XO7dAiIhDSi7G1NPxwn8jdFUQMCR/GlpozMFlSFiZXiObE7sef9rTtM68ukUyZM4pJ9l0KjQNgDJ6Fr342Htkjxu/kFV1WvegyjnSsFt7EGoDjdKqr1TS9syJYFjagYtvWk/UfHlW09X+jOh4vYtfX7iYSx/NfqV3W1D7EDi0PqVT2h6v8i8YqsATFPwO4nuiTmL6I40ZofxVd+9wdRI4Db8yUNA4ZSP2nqLcLtFjClYRBoJvRWvsv4lm0OX6MYPtv76hka8lW4mnRmZqqx3UtfHX/hF/zH24Gj7A6sYKYLCU3YrI2Ogiu7/ksKcl7goQjpvtVYrOOI5VGLHge0awt7bhMCTM9KAfPc+xL/ZxAMVWd3NCk5SamL2cE99UWgtvNOIYU8m6EjTLhsj8snVluJH0/RcxEeFbnSaswVChNSGa7mXJrTR22lRL6ZPjdMgS2Km90haWPRc8Wolcz07Y2se0xpGVLEQcDEsvv5IMmeMe1/qLZ6NaVkNuL3WOXvxaVT9USW1+/SGipO2IpKJjeDZfehlB/kpfF24+RrK+seQfCBYyUE8QJpvTZyfUHNYldXlrjO6n5MdOempLqWpfOmcGkwnyNRBR46g/jf8KnPRwXs509yAqDB6sELZH+yWr9LQZEwARAQABtCBKZWZmIExheXRvbiA8amxheXRvbkBrZXJuZWwub3JnPokCOAQTAQIAIgUCWe8u6AIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQAA5oQRlWghUuCg/+Lb/xGxZD2Q1oJVAE37uW308UpVSD2tAMJUvFTdDbfe3zKlPDTuVsyNsALBGclPLagJ5ZTP+Vp2irAN9uwBuacBOTtmOdz4ZN2tdvNgozzuxp4CHBDVzAslUi2idy+xpsp47DWPxYFIRP3M8QG/aNW052L aPc0cedY xp8+9eiVUNpxF4SiU4i9JDfX/sn9XcfoVZIxMpCRE750zvJvcCUz9HojsrMQ1NFc7MFT1z3MOW2/RlzPcog7xvR5ENPH19ojRDCHqumUHRry+RF0lH00clzX/W8OrQJZtoBPXv9ahka/Vp7kEulcBJr1cH5Wz/WprhsIM7U9pse1f1gYy9YbXtWctUz8uvDR7shsQxAhX3qO7DilMtuGo1v97I/Kx4gXQ52syh/w6EBny71CZrOgD6kJwPVVAaM1LRC28muq91WCFhs/nzHozpbzcheyGtMUI2Ao4K6mnY+3zIuXPygZMFr9KXE6fF7HzKxKuZMJOaEZCiDOq0anx6FmOzs5E6Jqdpo/mtI8beK+BE7Va6ni7YrQlnT0i3vaTVMTiCThbqsB20VrbMjlhpf8lfK1XVNbRq/R7GZ9zHESlsa35ha60yd/j3pu5hT2xyy8krV8vGhHvnJ1XRMJBAB/UYb6FyC7S+mQZIQXVeAA+smfTT0tDrisj1U5x6ZB9b3nBg65ke5Ag0ETpXRPAEQAJkVmzCmF+IEenf9a2nZRXMluJohnfl2wCMmw5qNzyk0f+mYuTwTCpw7BE2H0yXk4ZfAuA+xdj14K0A1Dj52j/fKRuDqoNAhQe0b6ipo85Sz98G+XnmQOMeFVp5G1Z7r/QP/nus3mXvtFsu9lLSjMA0cam2NLDt7vx3l9kUYlQBhyIE7/DkKg+3fdqRg7qJoMHNcODtQY+n3hMyaVpplJ/l0DdQDbRSZi5AzDM3DWZEShhuP6/E2LN4O3xWnZukEiz688d1ppl7vBZO9wBql6Ft9Og74diZrTN6lXGGjEWRvO55h6ijMsLCLNDRAVehPhZvSlPldtUuvhZLAjdWpwmzbRIwgoQcO51aWeKthpcpj8feDdKdlVjvJO9fgFD5kqZQiErRVPpB7VzA/pYV5Mdy7GMbPjmO0IpoL0tVZ8JvUzUZXB3ErS/dJflvboAAQeLpLCk QjqZiQ/D CmgJCrBJst9Xc7YsKKS379Tc3GU33HNSpaOxs2NwfzoesyjKU+P35czvXWTtj7KVVSj3SgzzFk+gLx8y2Nvt9iESdZ1Ustv8tipDsGcvIZ43MQwqU9YbLg8k4V9ch+Mo8SE+C0jyZYDCE2ZGf3OztvtSYMsTnF6/luzVyej1AFVYjKHORzNoTwdHUeC+9/07GO0bMYTPXYvJ/vxBFm3oniXyhgb5FtABEBAAGJAh8EGAECAAkFAk6V0TwCGwwACgkQAA5oQRlWghXhZRAAyycZ2DDyXh2bMYvI8uHgCbeXfL3QCvcw2XoZTH2l2umPiTzrCsDJhgwZfG9BDyOHaYhPasd5qgrUBtjjUiNKjVM+Cx1DnieR0dZWafnqGv682avPblfi70XXr2juRE/fSZoZkyZhm+nsLuIcXTnzY4D572JGrpRMTpNpGmitBdh1l/9O7Fb64uLOtA5Qj5jcHHOjL0DZpjmFWYKlSAHmURHrE8M0qRryQXvlhoQxlJR4nvQrjOPMsqWD5F9mcRyowOzr8amasLv43w92rD2nHoBK6rbFE/qC7AAjABEsZq8+TQmueN0maIXUQu7TBzejsEbV0i29z+kkrjU2NmK5pcxgAtehVxpZJ14LqmN6E0suTtzjNT1eMoqOPrMSx+6vOCIuvJ/MVYnQgHhjtPPnU86mebTY5Loy9YfJAC2EVpxtcCbx2KiwErTndEyWL+GL53LuScUD7tW8vYbGIp4RlnUgPLbqpgssq2gwYO9m75FGuKuB2+2bCGajqalid5nzeq9v7cYLLRgArJfOIBWZrHy2m0C+pFu9DSuV6SNr2dvMQUv1V58h0FaSOxHVQnJdnoHn13g/CKKvyg2EMrMt/EfcXgvDwQbnG9we4xJiWOIOcsvrWcB6C6lWBDA+In7w7SXnnokkZWuOsJdJQdmwlWC5L5ln9xgfr/4mOY38B0U= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) MIME-Version: 1.0 X-Stat-Signature: huniyd9szn58dy144qygwjmsethwhcck X-Rspamd-Queue-Id: D3B6720020 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1719920663-615325 X-HE-Meta: U2FsdGVkX1/rgtbOA6StV35s/4V2jHlWc5yfrd1GNtQOpw4lCxnXN9amnwHFT62zH+dGD9cB+/QgyvVT4TXafdE8L0i/lzgonKOnXqc5AqkUHo9RlEqExq4qCK5BlF3ttywY21dhx6i5oxWSca/E9dGeRLMl6Pb0vlFzuHxZe+bXNNQu3mpHuryb2f0vqS8cSSZ7R9orT1Io9qXUIyeB9vtJWibHaGGpGVRrA7rGN3/13AKc0+fU0NTzXd/tBVcXnqW2U0c+8uBUvOgWt6Aq4tyVen3Vcr+mPP+4sKrH9ZQYMz4DTmYrX887f0d4DjUR4gGE4AE172XlzS/1v5AM3Szr+rzMM87eCdDKjefRPBNcbNM3kxZwiebmF6ZNwnM5AL9/2+Bi3l1wfu7s9ot/RkT2mBbJpwiGeoTo6+LBhY/sJPvtQ5RTR99zULr9uYePMFX6BMxCEgH18oWQAgo0LU8rrpGkQiyO/OHDQ8LBJ8SrAw9Oh0uBHmRYDWNWe6SZm+ObSqx9jCw7UlW2c3CQ4RiCRj37r+TZNIbiXSI+C6R+pYemFIXg5Th8Gw00F+mO8eSY8lCGZZS3+VBr9Roaj9yZtQOPjtfo3GPC7S3zzure0urxRcpE5SCMzSBAc1EzHFPgpdVm25efA5NGLjficjxTFu+ATcVZukPwvPFBFYzZrLFb+OuUiS42mcxyoZ5V7KUdso+MPkg7j3siJ3oziEFp+YJs4bogLx/x4qZykxdeukY5/A5rhCOSlUXDZlAD0/wanXpeJ261XKOK+UmZ7oQT147IDQGxhvJBR6StMVIF3LshMrHKXMGNvWPZ/DPk8hayds6mhB9maXTLiZXMAzo/zDfmRQGqkOl7m6+fbHQNgqyaEOQ1ZS6sNR13B3fRhD/xYJOAUl0w48n/V3O3qOziAe5SLmrNFwEbTpR24y6MjI9XFJgpP35au7e/Dsg6uJJB2o772XEAHYvU+PQ LzDX6d29 /CPHyoJt/lYjANDUwpU3MxkuZfTKQqfTL4px5UdkVcY8QY4mtBUnZzvUDfYB75g//tE5BkVahFyb7GYqTV6g2XeqVifubTwFi5NGvu+BLREnUdu0kySPbyaVTjOQ2geIA/ov8HByv6Gsgfr2s4hvwxJcoNOe10KlGKhcceMT4rTYjPXZKLyX5iKsEVDIWKFpTfL2evkJkP4cVn3XCqG9mwc7ksY82ms0lxD54qzKAriakZwbzTCeqSPrbU1fLGsewbI5brq1Sqp9+lvNp3dzifeKBhoG5OeGmlddyrvO/RYCj1Q8= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Tue, 2024-07-02 at 12:19 +0200, Jan Kara wrote: > On Tue 02-07-24 05:56:37, Jeff Layton wrote: > > On Tue, 2024-07-02 at 00:37 -0700, Christoph Hellwig wrote: > > > On Mon, Jul 01, 2024 at 08:22:07PM -0400, Jeff Layton wrote: > > > > 2) the filesystem has been altered (fuzzing? deliberate doctoring?)= . > > > >=20 > > > > None of these seem like legitimate use cases so I'm arguing that we > > > > shouldn't worry about them. > > >=20 > > > Not worry seems like the wrong answer here.=C2=A0 Either we decide th= ey > > > are legitimate enough and we preserve them, or we decide they are > > > bogus and refuse reading the inode.=C2=A0 But we'll need to conscious= ly > > > deal with the case. > > >=20 > >=20 > > Is there a problem with consciously dealing with it by clamping the > > time at KTIME_MAX? If I had a fs with corrupt timestamps, the last > > thing I'd want is the filesystem refusing to let me at my data because > > of them. >=20 > Well, you could also view it differently: If I have a fs that corrupts ti= me > stamps, the last thing I'd like is that the kernel silently accepts it > without telling me about it :) >=20 Fair enough. > But more seriously, my filesystem development experience shows that if th= e > kernel silently tries to accept and fixup the breakage, it is nice in the > short term (no complaining users) but it tends to get ugly in the long te= rm > (where tend people come up with nasty cases where it was wrong to fix it > up). So I think Christoph's idea of refusing to load inodes with ctimes o= ut > of range makes sense. Or at least complain about it if nothing else (whic= h > has some precedens in the year 2038 problem). Complaining about it is fairly simple. We could just throw a pr_warn in inode_set_ctime_to_ts when the time comes back as KTIME_MAX. This might also be what we need to do for filesystems like NFS, where a future ctime on the server is not necessarily a problem for the client. Refusing to load the inode on disk-based filesystems is harder, but is probably possible. There are ~90 calls to inode_set_ctime_to_ts in the kernel, so we'd need to vet the places that are loading times from disk images or the like and fix them to return errors in this situation. Is warning acceptable, or do we really need to reject inodes that have corrupt timestamps like this? --=20 Jeff Layton