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 252CFCD54B7 for ; Tue, 19 Sep 2023 11:33:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 60E856B04FA; Tue, 19 Sep 2023 07:33:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5BE686B04FC; Tue, 19 Sep 2023 07:33:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 485F16B04FD; Tue, 19 Sep 2023 07:33:40 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 39D4C6B04FA for ; Tue, 19 Sep 2023 07:33:40 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id EF25C1A0D7C for ; Tue, 19 Sep 2023 11:33:39 +0000 (UTC) X-FDA: 81253136958.29.A62E168 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by imf03.hostedemail.com (Postfix) with ESMTP id 02E0A2001E for ; Tue, 19 Sep 2023 11:33:36 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=tQh6lksL; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf03.hostedemail.com: domain of jlayton@kernel.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=jlayton@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1695123218; 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=3M0d3dD3pzePraPqdY5Lb/FSgSUINN1vw73+jr5dq7Q=; b=jUkZWZ03lmtQwM5X9K7ypWJzMv1YRCWupVQ/qc2d5wFAYTwJqQPUYN44VsdZurG560wZER erD34UesHpmUKNymo9KZ31GbCcEwPnnFdcPhFpdGDsLqyHwQzIObuRimgQAx/K1cGUIlmv uM/JeOLsOik/9J7aPcQ6PH/hguK63JU= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=tQh6lksL; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf03.hostedemail.com: domain of jlayton@kernel.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=jlayton@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1695123218; a=rsa-sha256; cv=none; b=IbFN76mXfqHUy1ssUqc8fSmDqgl5nid5TkE7fwblGW2hiojxWJxu4uF/Pis9NbzuzV7AtO zgNQqIZRhZAbdbDMpWK5+OWlIqZS8ZaHzD3nIJ358ZuQeg1fgV9NJ1athbFCpn014b9+os LS6hQdX7EYAo937xRHDrkz4JvL1Hp0Y= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id D45C8B815DD; Tue, 19 Sep 2023 11:33:34 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D159EC433C8; Tue, 19 Sep 2023 11:33:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1695123213; bh=3M0d3dD3pzePraPqdY5Lb/FSgSUINN1vw73+jr5dq7Q=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=tQh6lksLqcIOBj/Ff0JXOKys/7/S9IytLOiF0JDIywzjJVGnvZkHN89m5sE62mpoB B3YDCwOOxX1gnLmVWc3ePStHNAbvbDg9jgbpVAv5wDbDdw2Vl89GZwZ9qNlNxra4Fg kiXuONNyEoPOCmaTk9QAiioZqeXDdQ8Od2dvXiPB2jbqabD8+vET4rWht6VUqialFl kMESlGGKraI/mfEF5XUwwnyQC7enBkaOr88DrXpjQxZ8vzJOm87lLPeOk13Z2jZZWP +DF8dMCw1HMweouCpDWHzR5OF6xSCTUQlXvt6hjtZ1K1zZoSy0NQYp4mHOMzF7pFix 96Omsq9cDaYdg== Message-ID: <1f29102c09c60661758c5376018eac43f774c462.camel@kernel.org> Subject: Re: [PATCH v7 12/13] ext4: switch to multigrain timestamps From: Jeff Layton To: Jan Kara , Xi Ruoyao Cc: Alexander Viro , Christian Brauner , Eric Van Hensbergen , Latchesar Ionkov , Dominique Martinet , Christian Schoenebeck , David Howells , Marc Dionne , Chris Mason , Josef Bacik , David Sterba , Xiubo Li , Ilya Dryomov , Jan Harkes , coda@cs.cmu.edu, Tyler Hicks , Gao Xiang , Chao Yu , Yue Hu , Jeffle Xu , Namjae Jeon , Sungjong Seo , Jan Kara , Theodore Ts'o , Andreas Dilger , Jaegeuk Kim , OGAWA Hirofumi , Miklos Szeredi , Bob Peterson , Andreas Gruenbacher , Greg Kroah-Hartman , Tejun Heo , Trond Myklebust , Anna Schumaker , Konstantin Komarov , Mark Fasheh , Joel Becker , Joseph Qi , Mike Marshall , Martin Brandenburg , Luis Chamberlain , Kees Cook , Iurii Zaikin , Steve French , Paulo Alcantara , Ronnie Sahlberg , Shyam Prasad N , Tom Talpey , Sergey Senozhatsky , Richard Weinberger , Hans de Goede , Hugh Dickins , Andrew Morton , Amir Goldstein , "Darrick J. Wong" , Benjamin Coddington , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, v9fs@lists.linux.dev, linux-afs@lists.infradead.org, linux-btrfs@vger.kernel.org, ceph-devel@vger.kernel.org, codalist@coda.cs.cmu.edu, ecryptfs@vger.kernel.org, linux-erofs@lists.ozlabs.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, cluster-devel@redhat.com, linux-nfs@vger.kernel.org, ntfs3@lists.linux.dev, ocfs2-devel@lists.linux.dev, devel@lists.orangefs.org, linux-cifs@vger.kernel.org, samba-technical@lists.samba.org, linux-mtd@lists.infradead.org, linux-mm@kvack.org, linux-unionfs@vger.kernel.org, linux-xfs@vger.kernel.org, bug-gnulib@gnu.org Date: Tue, 19 Sep 2023 07:33:25 -0400 In-Reply-To: <20230919110457.7fnmzo4nqsi43yqq@quack3> References: <20230807-mgctime-v7-0-d1dec143a704@kernel.org> <20230807-mgctime-v7-12-d1dec143a704@kernel.org> <20230919110457.7fnmzo4nqsi43yqq@quack3> Content-Type: text/plain; charset="ISO-8859-15" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) MIME-Version: 1.0 X-Rspamd-Queue-Id: 02E0A2001E X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: i3pca9a5ughre5mj1edgu598kzmngxff X-HE-Tag: 1695123216-548830 X-HE-Meta: U2FsdGVkX1/ck3irOBI6ML/F306ZiPXSZ55wi5vIVaQivIyzYX2F2coz6MuO9Y+dQiWXp2ARb+aUTzR9JrN0lN2X0AWAL5BC8FZp5GpA/SSINW5Fu27WoyUHwLAnR2l2vOc1pYg3cT3GI1i3wLv64Jn4W2/qSL3VFVgzVy370goLOO7onurWRujBr+C116BmmO8tyCZwcWBMU1oD3Msxl+Z0DAyfoi/5FiX0JqI2ZZBL3B9XqSqYiKCT/Ck77WClwRSJpkZZzH2k90oGKCD7A1CgWeCxr0VsB8DaIiw3DSzEu8RJbyvR/D7j38q7bbFWz1jPX6b4BcJyslOXHPo0HOZ95dLhwh4knvQSlnVZsNNAnBbdb3h3OJrX9MeJoUA5C9sxm2LKPkZiIBoMC3PrhL8KcD+6QGemvx0oCs7D+EVz9Qr/+BYdttjvy2J93Bvq/vzx46fydR44cjF6QTVe2fQsGM/Qx6EfZYi0rEIY3dX/2ieGDWzTqHS87sKhC/3UTTusycEDnq3NLeq1VBTfQt3pohYoC1qFtuSty6C49sqFamBDhTenkWZYlCEtyOQ73ob8sVAhIMN1AJgMoQKIY+uDL3m88khEbrLbevg8nIKCPKTLR5XTyMC87FPZ2sxgWw14QLJt8Qvy/gXaGtcQlcSfrhd174ClHJ7MGGDVEmcn43LigxG7z5bVCC0T6oKkvNFNnv1kR/yoz0wzb9sOu2nGaJFRPYnvDIxyEStu95el/IWLmHO/+UR/hC1bmtl8O7KNnaqoCYJGDE2imsWAh/tKj6y4ZFmR/be+WBl+/RLCiaQfQ+byDFTeCLpWyNX6OJT4nSXwPv+KxfLUs76Kd1aEHOeOxVMqhbuTZqiFUqVGB2+V9pQMSDwrmDYlJUfAw2yFKN7D5iTrSrKisaBTVGTTYYjC6WHP/XmYzPcKL44JgxsQBzBScl2rv982Mgp4jJC4KC2t/AzLgyEXxj6 P4n5hXUE Bwd5GDag/pLYTZ0sfNeCcgiv/z0mhjd+OzbXeHiAs8ouSTp9hM+86xRdQliiyDeBw2T5+THOA8AiSo7ec1ZzcpRpPG2aBWTnO6h6mUF2GQZdAoFQxEMONJuDTm7bPbzoqaSESnxR71cCjTUooW6P5KXWnstrKEderu3OUsTnM4mhmhheqWOwJ0AUWNcS/62DyHvzuJ5jCgZgmd+5uNBhJEHTcEw+Zp9boZqyuany+ThwSokiH0blV3pyuWxYIvHNRq/P/grWEahKPT9cwUTlpFY83Ow7ZM2ulMjQyM0uu+ONTz8TWOIjGSqSa8GyGN1flJE6zsEGJL2Tm2XXdXWZh/luvBMbuVWIj2aGAGskH2Bmhyh4bPrI5kbFo+nrW3ALA5v1zI/N23rZOgZYpRpvpAo1JQVj7Z6XrZYqy 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: On Tue, 2023-09-19 at 13:04 +0200, Jan Kara wrote: > On Tue 19-09-23 15:05:24, Xi Ruoyao wrote: > > On Mon, 2023-08-07 at 15:38 -0400, Jeff Layton wrote: > > > Enable multigrain timestamps, which should ensure that there is an > > > apparent change to the timestamp whenever it has been written after > > > being actively observed via getattr. > > >=20 > > > For ext4, we only need to enable the FS_MGTIME flag. > >=20 > > Hi Jeff, > >=20 > > This patch causes a gnulib test failure: > >=20 > > $ ~/sources/lfs/grep-3.11/gnulib-tests/test-stat-time > > test-stat-time.c:141: assertion 'statinfo[0].st_mtime < statinfo[2].st_= mtime || (statinfo[0].st_mtime =3D=3D statinfo[2].st_mtime && (get_stat_mti= me_ns (&statinfo[0]) < get_stat_mtime_ns (&statinfo[2])))' failed > > Aborted (core dumped) > >=20 > > The source code of the test: > > https://git.savannah.gnu.org/cgit/gnulib.git/tree/tests/test-stat-time.= c > >=20 > > Is this an expected change? >=20 > Kind of yes. The test first tries to estimate filesystem timestamp > granularity in nap() function - due to this patch, the detected granulari= ty > will likely be 1 ns so effectively all the test calls will happen > immediately one after another. But we don't bother setting the timestamps > with more than 1 jiffy (usually 4 ms) precision unless we think someone i= s > watching. So as a result timestamps of all stamp1 and stamp2 files are > going to be equal which makes the test fail. >=20 That was my take too. The multigrain ctime changes are probably causing nap() to settle on too small a time delta. > The ultimate problem is that a sequence like: >=20 > write(f1) > stat(f2) > write(f2) > stat(f2) > write(f1) > stat(f1) > > can result in f1 timestamp to be (slightly) lower than the final f2 > timestamp because the second write to f1 didn't bother updating the > timestamp. That can indeed be a bit confusing to programs if they compare > timestamps between two files. Jeff? >=20 Basically yes. When there is no stat() call issued on the file in between writes, the kernel will use coarse-grained timestamps when updating it (since no one is watching). I'm not sure what we can do for this test. The nap() function is making an assumption that the timestamp granularity will be constant, and that isn't necessarily the case now. --=20 Jeff Layton