From: Al Viro <viro@zeniv.linux.org.uk>
To: Mateusz Guzik <mjguzik@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
"Darrick J. Wong" <djwong@kernel.org>,
Hao-ran Zheng <zhenghaoran@buaa.edu.cn>,
brauner@kernel.org, jack@suse.cz, linux-fsdevel@vger.kernel.org,
linux-kernel@vger.kernel.org, baijiaju1990@gmail.com,
21371365@buaa.edu.cn
Subject: Re: [RFC] metadata updates vs. fetches (was Re: [PATCH v4] fs: Fix data race in inode_set_ctime_to_ts)
Date: Sun, 24 Nov 2024 23:38:28 +0000 [thread overview]
Message-ID: <20241124233828.GC3387508@ZenIV> (raw)
In-Reply-To: <CAGudoHEqDaY3=KuV9CuPja8UgVBhiZVZ7ej5r1yoSxRZaMnknA@mail.gmail.com>
On Mon, Nov 25, 2024 at 12:05:29AM +0100, Mateusz Guzik wrote:
> On Sun, Nov 24, 2024 at 11:10 PM Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
> > So I mention the "rename and extend i_size_seqcount" as a solution
> > that I suspect might be acceptable if somebody has the motivation and
> > energy, but honestly I also think "nobody can be bothered" is
> > acceptable in practice.
> >
>
> So happens recently the metadata ordeal also came up around getattr
> where a submitter wanted to lock the inode around it.
The posting Linus had been replying to:
https://lore.kernel.org/all/20241124215014.GA3387508@ZenIV/
> Until the day comes when someone has way too much time on their hands
> and patches it up (even that may encounter resistance though), I do
> think it would make sense to nicely write it down somewhere so for
> easy reference -- maybe as a comment above getattr and note around
> other places like the timespec helpers to read that.
See above.
For those who'd missed the getattr thread - the approach proposed and
NAKed there was to take ->i_rwsem (shared) in stat(2). A non-starter
for obvious reasons, IMO. Seqcount avoids those, but it would need to
be a pair of primitives used around the stores, with i_size_write()
*not* usable inside such scope. Potential problems would be the
amount of time spent inside those scopes and amount of spinning it
would cause on the stat(2) side + the inode bloat.
All of that is modulo usefulness of such atomicity - nothing mentioned
so far seems to be a good reason to bother with all of that in the
first place...
next prev parent reply other threads:[~2024-11-24 23:38 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-20 2:43 [PATCH] fs: Fix data race in inode_set_ctime_to_ts Hao-ran Zheng
2024-11-21 11:35 ` Jan Kara
2024-11-22 3:51 ` [PATCH v2] " Hao-ran Zheng
2024-11-22 11:13 ` Christian Brauner
2024-11-22 11:22 ` Jan Kara
2024-11-22 11:48 ` 郑浩然
2024-11-22 13:06 ` [PATCH v3] " Hao-ran Zheng
2024-11-23 14:01 ` Jeff Layton
2024-11-24 8:46 ` 郑浩然
2024-11-24 9:42 ` [PATCH v4] " Hao-ran Zheng
2024-11-24 17:44 ` Darrick J. Wong
2024-11-24 17:56 ` Mateusz Guzik
2024-11-24 18:34 ` Darrick J. Wong
2024-11-24 21:50 ` [RFC] metadata updates vs. fetches (was Re: [PATCH v4] fs: Fix data race in inode_set_ctime_to_ts) Al Viro
2024-11-24 22:10 ` Linus Torvalds
2024-11-24 22:24 ` Al Viro
2024-11-24 22:34 ` Matthew Wilcox
2024-11-24 22:43 ` Linus Torvalds
2024-11-24 23:53 ` Matthew Wilcox
2024-11-25 0:53 ` Linus Torvalds
2024-11-25 1:02 ` Linus Torvalds
2024-11-25 1:15 ` Matthew Wilcox
2024-11-25 1:26 ` Linus Torvalds
2024-11-24 22:40 ` Linus Torvalds
2024-11-24 23:05 ` Mateusz Guzik
2024-11-24 23:19 ` Mateusz Guzik
2024-11-24 23:41 ` Al Viro
2024-11-24 23:38 ` Al Viro [this message]
2024-11-25 12:20 ` Christian Brauner
2024-11-24 22:10 ` Dr. David Alan Gilbert
2024-11-24 22:19 ` Matthew Wilcox
-- strict thread matches above, loose matches on Subject: below --
2024-11-26 6:44 郑浩然
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=20241124233828.GC3387508@ZenIV \
--to=viro@zeniv.linux.org.uk \
--cc=21371365@buaa.edu.cn \
--cc=baijiaju1990@gmail.com \
--cc=brauner@kernel.org \
--cc=djwong@kernel.org \
--cc=jack@suse.cz \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mjguzik@gmail.com \
--cc=torvalds@linux-foundation.org \
--cc=zhenghaoran@buaa.edu.cn \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.