All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christian Brauner <brauner@kernel.org>
To: Jeff Layton <jlayton@kernel.org>
Cc: "Darrick J. Wong" <djwong@kernel.org>,
	tytso@mit.edu, adilger.kernel@dilger.ca, david@fromorbit.com,
	trondmy@hammerspace.com, neilb@suse.de, viro@zeniv.linux.org.uk,
	zohar@linux.ibm.com, xiubli@redhat.com, chuck.lever@oracle.com,
	lczerner@redhat.com, jack@suse.cz, bfields@fieldses.org,
	fweimer@redhat.com, linux-btrfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
	ceph-devel@vger.kernel.org, linux-ext4@vger.kernel.org,
	linux-nfs@vger.kernel.org, linux-xfs@vger.kernel.org
Subject: Re: [PATCH v7 0/9] fs: clean up handling of i_version counter
Date: Thu, 20 Oct 2022 08:58:13 +0200	[thread overview]
Message-ID: <20221020065813.sdnrerbrvi75xlkp@wittgenstein> (raw)
In-Reply-To: <3fa8e13be8d75e694e8360a8e9552a92a4c14803.camel@kernel.org>

On Wed, Oct 19, 2022 at 04:36:47PM -0400, Jeff Layton wrote:
> On Wed, 2022-10-19 at 08:45 -0700, Darrick J. Wong wrote:
> > On Wed, Oct 19, 2022 at 08:18:15AM -0400, Jeff Layton wrote:
> > > On Wed, 2022-10-19 at 13:13 +0200, Christian Brauner wrote:
> > > > On Mon, Oct 17, 2022 at 06:57:00AM -0400, Jeff Layton wrote:
> > > > > This patchset is intended to clean up the handling of the i_version
> > > > > counter by nfsd. Most of the changes are to internal interfaces.
> > > > > 
> > > > > This set is not intended to address crash resilience, or the fact that
> > > > > the counter is bumped before a change and not after. I intend to tackle
> > > > > those in follow-on patchsets.
> > > > > 
> > > > > My intention is to get this series included into linux-next soon, with
> > > > > an eye toward merging most of it during the v6.2 merge window. The last
> > > > > patch in the series is probably not suitable for merge as-is, at least
> > > > > until we sort out the semantics we want to present to userland for it.
> > > > 
> > > > Over the course of the series I struggled a bit - and sorry for losing
> > > > focus - with what i_version is supposed to represent for userspace. So I
> > > > would support not exposing it to userspace before that. But that
> > > > shouldn't affect your other changes iiuc.
> > > 
> > > Thanks Christian,
> > > 
> > > It has been a real struggle to nail this down, and yeah I too am not
> > > planning to expose this to userland until we have this much better
> > > defined. Patch #9 is just to give you an idea of what this would
> > > ultimately look like. I intend to re-post the first 8 patches with an
> > > eye toward merge in v6.2, once we've settled on the naming. On that
> > > note...
> > > 
> > > I believe you had mentioned that you didn't like STATX_CHANGE_ATTR for
> > > the name, and suggested STATX_I_VERSION (or something similar), which I
> > > later shortened to STATX_VERSION.
> > > 
> > > Dave C. objected to STATX_VERSION, as "version" fields in a struct
> > > usually refer to the version of the struct itself rather than the
> > > version of the thing it describes. It also sort of implies a monotonic
> > > counter, and I'm not ready to require that just yet.
> > > 
> > > What about STATX_CHANGE for the name (with corresponding names for the
> > > field and other flags)? That drops the redundant "_ATTR" postfix, while
> > > being sufficiently vague to allow for alternative implementations in the
> > > future.
> > > 
> > > Do you (or anyone else) have other suggestions for a name?
> > 
> > Welllll it's really a u32 whose value doesn't have any intrinsic meaning
> > other than "if (value_now != value_before) flush_cache();" right?
> > I think it really only tracks changes to file data, right?
> > 
> 
> It's a u64, but yeah, you're not supposed to assign any intrinsic
> meaning to the value itself.
> 
> > STATX_CHANGE_COOKIE	(wait, does this cookie augment i_ctime?)
> > 
> > STATX_MOD_COOKIE	(...or just file modifications/i_mtime?)
> > 
> > STATX_MONITOR_COOKIE	(...what are we monitoring??)
> > 
> > STATX_MON_COOKIE
> > 
> > STATX_COOKIE_MON
> > 
> > STATX_COOKIE_MONSTER
> > 
> > There we go. ;)
> > 
> > In seriousness, I'd probably go with one of the first two.  I wouldn't
> > be opposed to the last one, either, but others may disagree. ;)
> > 
> > --D
> > 
> > 
> 
> STATX_CHANGE_COOKIE is probably the best one. I'll plan to go with that
> unless someone has a better idea. Thanks for the suggestions!

Sounds fine to me.

      reply	other threads:[~2022-10-20  6:58 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-17 10:57 [PATCH v7 0/9] fs: clean up handling of i_version counter Jeff Layton
2022-10-17 10:57 ` [PATCH v7 1/9] fs: uninline inode_query_iversion Jeff Layton
2022-10-17 10:57 ` [PATCH v7 2/9] fs: clarify when the i_version counter must be updated Jeff Layton
2022-10-17 10:57 ` [PATCH v7 3/9] vfs: plumb i_version handling into struct kstat Jeff Layton
2022-10-17 10:57 ` [PATCH v7 4/9] nfs: report the inode version in getattr if requested Jeff Layton
2022-10-17 10:57 ` [PATCH v7 5/9] ceph: " Jeff Layton
2022-10-17 10:57 ` [PATCH v7 6/9] nfsd: move nfsd4_change_attribute to nfsfh.c Jeff Layton
2022-11-03 15:42   ` Chuck Lever III
2022-10-17 10:57 ` [PATCH v7 7/9] nfsd: use the getattr operation to fetch i_version Jeff Layton
2022-11-03 15:42   ` Chuck Lever III
2022-10-17 10:57 ` [PATCH v7 8/9] nfsd: remove fetch_iversion export operation Jeff Layton
2022-11-03 15:43   ` Chuck Lever III
2022-10-17 10:57 ` [RFC PATCH v7 9/9] vfs: expose STATX_VERSION to userland Jeff Layton
2022-10-17 22:14   ` Dave Chinner
2022-10-18 10:35     ` Jeff Layton
2022-10-18 13:49       ` Jan Kara
2022-10-18 14:21         ` Jeff Layton
2022-10-18 15:17           ` Jan Kara
2022-10-18 17:04             ` Jeff Layton
2022-10-19 17:23               ` Jan Kara
2022-10-19 18:47                 ` Jeff Layton
2022-10-20 10:39                   ` Jan Kara
2022-10-21 10:08                     ` Jeff Layton
2022-10-18 14:56       ` Jeff Layton
2022-10-19 11:13 ` [PATCH v7 0/9] fs: clean up handling of i_version counter Christian Brauner
2022-10-19 12:18   ` Jeff Layton
2022-10-19 15:45     ` Darrick J. Wong
2022-10-19 20:36       ` Jeff Layton
2022-10-20  6:58         ` Christian Brauner [this message]

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=20221020065813.sdnrerbrvi75xlkp@wittgenstein \
    --to=brauner@kernel.org \
    --cc=adilger.kernel@dilger.ca \
    --cc=bfields@fieldses.org \
    --cc=ceph-devel@vger.kernel.org \
    --cc=chuck.lever@oracle.com \
    --cc=david@fromorbit.com \
    --cc=djwong@kernel.org \
    --cc=fweimer@redhat.com \
    --cc=jack@suse.cz \
    --cc=jlayton@kernel.org \
    --cc=lczerner@redhat.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-nfs@vger.kernel.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=neilb@suse.de \
    --cc=trondmy@hammerspace.com \
    --cc=tytso@mit.edu \
    --cc=viro@zeniv.linux.org.uk \
    --cc=xiubli@redhat.com \
    --cc=zohar@linux.ibm.com \
    /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.