From: Jeff Layton <jlayton@kernel.org>
To: Christoph Hellwig <hch@infradead.org>
Cc: Jan Kara <jack@suse.cz>, "Darrick J. Wong" <djwong@kernel.org>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Christian Brauner <brauner@kernel.org>,
Steven Rostedt <rostedt@goodmis.org>,
Masami Hiramatsu <mhiramat@kernel.org>,
Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
Chandan Babu R <chandan.babu@oracle.com>,
Theodore Ts'o <tytso@mit.edu>,
Andreas Dilger <adilger.kernel@dilger.ca>,
Chris Mason <clm@fb.com>, Josef Bacik <josef@toxicpanda.com>,
David Sterba <dsterba@suse.com>, Hugh Dickins <hughd@google.com>,
Andrew Morton <akpm@linux-foundation.org>,
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
Subject: Re: [PATCH 01/10] fs: turn inode ctime fields into a single ktime_t
Date: Tue, 02 Jul 2024 08:09:46 -0400 [thread overview]
Message-ID: <09ad82419eb78a2f81dda5dca9caae10663a2a19.camel@kernel.org> (raw)
In-Reply-To: <ZoPs0TfTEktPaCHo@infradead.org>
On Tue, 2024-07-02 at 05:04 -0700, Christoph Hellwig wrote:
> On Tue, Jul 02, 2024 at 07:44:19AM -0400, Jeff Layton wrote:
> > 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?
>
> inode_set_ctime_to_ts should return an error if things are out of range.
Currently it just returns the timespec64 we're setting it to (which
makes it easy to do several assignments), so we'd need to change its
prototype to handle this case, and fix up the callers to recognize the
error.
Alternately it may be easier to just add in a test for when
__i_ctime == KTIME_MAX in the appropriate callers and have them error
out. I'll have a look and see what makes sense.
> How do we currently catch this when it comes from userland?
>
Not sure I understand this question. ctime values should never come
from userland. They should only ever come from the system clock.
--
Jeff Layton <jlayton@kernel.org>
next prev parent reply other threads:[~2024-07-02 12:09 UTC|newest]
Thread overview: 29+ 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 [this message]
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 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=09ad82419eb78a2f81dda5dca9caae10663a2a19.camel@kernel.org \
--to=jlayton@kernel.org \
--cc=adilger.kernel@dilger.ca \
--cc=akpm@linux-foundation.org \
--cc=brauner@kernel.org \
--cc=chandan.babu@oracle.com \
--cc=clm@fb.com \
--cc=djwong@kernel.org \
--cc=dsterba@suse.com \
--cc=hch@infradead.org \
--cc=hughd@google.com \
--cc=jack@suse.cz \
--cc=josef@toxicpanda.com \
--cc=kernel-team@fb.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-nfs@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=mhiramat@kernel.org \
--cc=rostedt@goodmis.org \
--cc=tytso@mit.edu \
--cc=viro@zeniv.linux.org.uk \
/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).