[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z0OqCmbGz0P7hrrA@casper.infradead.org>
Date: Sun, 24 Nov 2024 22:34:50 +0000
From: Matthew Wilcox <willy@...radead.org>
To: Al Viro <viro@...iv.linux.org.uk>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
Mateusz Guzik <mjguzik@...il.com>,
"Darrick J. Wong" <djwong@...nel.org>,
Hao-ran Zheng <zhenghaoran@...a.edu.cn>, brauner@...nel.org,
jack@...e.cz, linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org, baijiaju1990@...il.com,
21371365@...a.edu.cn
Subject: Re: [RFC] metadata updates vs. fetches (was Re: [PATCH v4] fs: Fix
data race in inode_set_ctime_to_ts)
On Sun, Nov 24, 2024 at 10:24:50PM +0000, Al Viro wrote:
> On Sun, Nov 24, 2024 at 02:10:30PM -0800, Linus Torvalds wrote:
> > I *do* think that we could perhaps extend (and rename) the
> > inode->i_size_seqcount to just cover all of the core inode metadata
> > stuff.
>
> That would bring ->i_size_seqcount to 64bit architectures and
> potentially extend the time it's being held quite a bit even
> on 32bit...
Could we just do:
again:
nsec = READ_ONCE(inode->nsec)
sec = READ_ONCE(inode->sec)
if (READ_ONCE(inode->nsec) != nsec)
goto again;
?
Powered by blists - more mailing lists