Re: [PATCH 03/79] s390: switch to new ctime accessors

From: Jeff Layton
Date: Thu Jun 22 2023 - 14:47:18 EST


On Thu, 2023-06-22 at 20:22 +0200, Alexander Gordeev wrote:
> On Thu, Jun 22, 2023 at 01:51:33PM -0400, Jeff Layton wrote:
> > On Thu, 2023-06-22 at 19:35 +0200, Alexander Gordeev wrote:
> > > On Wed, Jun 21, 2023 at 10:45:16AM -0400, Jeff Layton wrote:
> > >
> > > Hi Jeff,
> > > > In later patches, we're going to change how the ctime.tv_nsec field is
> > > > utilized. Switch to using accessor functions instead of raw accesses of
> > > > inode->i_ctime.
> > > >
> > > > Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
> > > > ---
> > > > arch/s390/hypfs/inode.c | 4 ++--
> > > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > > >
> > > > diff --git a/arch/s390/hypfs/inode.c b/arch/s390/hypfs/inode.c
> > > > index ee919bfc8186..30fa336ec63e 100644
> > > > --- a/arch/s390/hypfs/inode.c
> > > > +++ b/arch/s390/hypfs/inode.c
> > > > @@ -53,7 +53,7 @@ static void hypfs_update_update(struct super_block *sb)
> > > > struct inode *inode = d_inode(sb_info->update_file);
> > > >
> > > > sb_info->last_update = ktime_get_seconds();
> > > > - inode->i_atime = inode->i_mtime = inode->i_ctime = current_time(inode);
> > > > + inode->i_atime = inode->i_mtime = inode_ctime_set_current(inode);
> > > > }
> > > >
> > > > /* directory tree removal functions */
> > > > @@ -101,7 +101,7 @@ static struct inode *hypfs_make_inode(struct super_block *sb, umode_t mode)
> > > > ret->i_mode = mode;
> > > > ret->i_uid = hypfs_info->uid;
> > > > ret->i_gid = hypfs_info->gid;
> > > > - ret->i_atime = ret->i_mtime = ret->i_ctime = current_time(ret);
> > > > + ret->i_atime = ret->i_mtime = inode_ctime_set_current(ret);
> > > > if (S_ISDIR(mode))
> > > > set_nlink(ret, 2);
> > > > }
> > >
> > > I guess, inode_set_ctime() called from inode_ctime_set_current()
> > > updates i_ctime and is part of some other series?
> > >
> >
> > No, that gets added in patch #1 of this series.
> >
> > You should have gotten cc'ed on that one, though the postings to vger
> > mailing lists of patches 1, 2, and 79 bounced because the mail header
> > length on those was >8k.
>
> I actually received #1, if we're talking about this one:
> https://lore.kernel.org/all/20230621144507.55591-2-jlayton@xxxxxxxxxx/
>
> I see inode_set_ctime() gets called, but nowere defined.
>
>

That's a bug -- that should be calling inode_ctime_set() instead. It
gets fixed up in a later patch in the series, but that should be fixed.

I'm already respinning this now with an updated coccinelle patch. I'll
make sure that's correct on the next posting.

Thanks,
--
Jeff Layton <jlayton@xxxxxxxxxx>