From: Jeff Layton <jlayton@kernel.org>
To: Andi Kleen <ak@linux.intel.com>
Cc: linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH 04/10] fs: add infrastructure for multigrain timestamps
Date: Thu, 27 Jun 2024 18:13:58 -0400 [thread overview]
Message-ID: <264a056e800a7f9afac538a79e9f9c022948a575.camel@kernel.org> (raw)
In-Reply-To: <87frsyt5lj.fsf@linux.intel.com>
On Thu, 2024-06-27 at 14:53 -0700, Andi Kleen wrote:
> Jeff Layton <jlayton@kernel.org> writes:
> > >
> > > Would it be of any benefit to keep a distinct ctime_floor in each
> > > super block instead?
> > >
> >
> > Good question. Dave Chinner suggested the same thing, but I think it's
> > a potential problem:
> >
> > The first series had to be reverted because inodes that had been
> > modified in order could appear to be modified in reverse order with the
> > right combination of fine and coarse grained timestamps. With the new
> > floor value, that's no longer possible, but if we were to make it per-
> > sb then it becomes possible again with files in different filesystems.
> >
> > This sort of timestamp comparison is done by tools like "make", and
> > it's rather common to keep built objects in one location and generate
> > or copy source files to another. My worry is that managing the floor as
> > anything but a global value could cause regressions in those sorts of
> > workloads.
>
> Have you considered the interactions with time name spaces?
>
> It seems you may need a floor for each, otherwise if the floor is set by
> some name space with a more future time the other users lose out.
>
I have not -- I didn't even realize time namespaces were a thing! I'll
look into that, but it sounds like it should be possible to do a floor
value per namespace.
> Also there's the issue to what happens if time gets set backwards.
>
Patch #4 has a workarounds for that. The main problem is that we don't
want to end up with a floor value that's stuck at some point far in the
future (vs. the current clock).
This set just disregards any floor value that's more than 6ms in the
future, under the assumption that that indicates that the clock has
jumped backward. It's not perfect and I'm open to better suggestions
for handling this though.
--
Jeff Layton <jlayton@kernel.org>
next prev parent reply other threads:[~2024-06-27 22:14 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-27 1:00 [PATCH 00/10] fs: multigrain timestamp redux Jeff Layton
2024-06-27 1:00 ` [PATCH 01/10] fs: turn inode ctime fields into a single ktime_t Jeff Layton
2024-07-01 22:49 ` Darrick J. Wong
2024-07-02 0:22 ` Jeff Layton
2024-07-02 7:37 ` Christoph Hellwig
2024-07-02 9:56 ` Jeff Layton
2024-07-02 10:19 ` Jan Kara
2024-07-02 11:42 ` Christian Brauner
2024-07-02 11:44 ` Jeff Layton
2024-07-02 12:04 ` Christoph Hellwig
2024-07-02 12:09 ` Jeff Layton
2024-07-02 12:15 ` Christoph Hellwig
2024-07-02 12:21 ` Jeff Layton
2024-07-02 15:12 ` Christoph Hellwig
2024-07-02 15:58 ` Jeff Layton
2024-07-03 5:26 ` Christoph Hellwig
2024-07-03 5:27 ` Christoph Hellwig
2024-07-02 16:18 ` Christian Brauner
2024-06-27 1:00 ` [PATCH 02/10] fs: uninline inode_get_ctime and inode_set_ctime_to_ts Jeff Layton
2024-06-27 1:00 ` [PATCH 03/10] fs: tracepoints for inode_needs_update_time " Jeff Layton
2024-06-27 1:00 ` [PATCH 04/10] fs: add infrastructure for multigrain timestamps Jeff Layton
2024-06-27 15:02 ` Chuck Lever
2024-06-27 15:35 ` Jeff Layton
2024-06-27 21:53 ` Andi Kleen
2024-06-27 22:13 ` Jeff Layton [this message]
2024-06-29 10:34 ` Jeff Layton
2024-06-27 1:00 ` [PATCH 05/10] fs: add percpu counters to count fine vs. coarse timestamps Jeff Layton
2024-06-27 1:00 ` [PATCH 06/10] fs: have setattr_copy handle multigrain timestamps appropriately Jeff Layton
2024-06-27 1:00 ` [PATCH 07/10] xfs: switch to multigrain timestamps Jeff Layton
2024-06-27 1:00 ` [PATCH 08/10] ext4: " Jeff Layton
2024-06-27 1:00 ` [PATCH 09/10] btrfs: convert " Jeff Layton
2024-06-27 1:00 ` [PATCH 10/10] tmpfs: add support for " Jeff Layton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=264a056e800a7f9afac538a79e9f9c022948a575.camel@kernel.org \
--to=jlayton@kernel.org \
--cc=ak@linux.intel.com \
--cc=linux-fsdevel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).