Re: [PATCH 12/61] nfsd: update format strings for u64 i_ino
From: Jeff Layton
Date: Thu Feb 26 2026 - 15:13:52 EST
On Thu, 2026-02-26 at 14:48 -0500, Chuck Lever wrote:
> On 2/26/26 10:55 AM, Jeff Layton wrote:
> > Update format strings from %ld/%lu to %lld/%llu for i_ino, which is
> > now a u64.
> >
> > Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
> > ---
> > fs/nfsd/export.c | 2 +-
> > fs/nfsd/nfs4state.c | 4 ++--
> > fs/nfsd/nfsfh.c | 4 ++--
> > fs/nfsd/vfs.c | 2 +-
> > 4 files changed, 6 insertions(+), 6 deletions(-)
> >
> > diff --git a/fs/nfsd/export.c b/fs/nfsd/export.c
> > index 8fdbba7cad96443d92cc7fdeea6158c4cc681be1..334b63eb966e71e6af6adde61aa1123f01b4390b 100644
> > --- a/fs/nfsd/export.c
> > +++ b/fs/nfsd/export.c
> > @@ -1039,7 +1039,7 @@ exp_rootfh(struct net *net, struct auth_domain *clp, char *name,
> > }
> > inode = d_inode(path.dentry);
> >
> > - dprintk("nfsd: exp_rootfh(%s [%p] %s:%s/%ld)\n",
> > + dprintk("nfsd: exp_rootfh(%s [%p] %s:%s/%lld)\n",
> > name, path.dentry, clp->name,
> > inode->i_sb->s_id, inode->i_ino);
> > exp = exp_parent(cd, clp, &path);
> > diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
> > index 6b9c399b89dfb71a52b9c97f0efe9a1dea0558a6..a569d89ac9123d66bb47e7d74c7c98610de21da2 100644
> > --- a/fs/nfsd/nfs4state.c
> > +++ b/fs/nfsd/nfs4state.c
> > @@ -1253,7 +1253,7 @@ static void nfsd4_finalize_deleg_timestamps(struct nfs4_delegation *dp, struct f
> > if (ret) {
> > struct inode *inode = file_inode(f);
> >
> > - pr_notice_ratelimited("nfsd: Unable to update timestamps on inode %02x:%02x:%lu: %d\n",
> > + pr_notice_ratelimited("nfsd: Unable to update timestamps on inode %02x:%02x:%llu: %d\n",
> > MAJOR(inode->i_sb->s_dev),
> > MINOR(inode->i_sb->s_dev),
> > inode->i_ino, ret);
> > @@ -2888,7 +2888,7 @@ static void nfs4_show_superblock(struct seq_file *s, struct nfsd_file *f)
> > {
> > struct inode *inode = file_inode(f->nf_file);
> >
> > - seq_printf(s, "superblock: \"%02x:%02x:%ld\"",
> > + seq_printf(s, "superblock: \"%02x:%02x:%llu\"",
> > MAJOR(inode->i_sb->s_dev),
> > MINOR(inode->i_sb->s_dev),
> > inode->i_ino);
> > diff --git a/fs/nfsd/nfsfh.c b/fs/nfsd/nfsfh.c
> > index ed85dd43da18e6d4c4667ff14dc035f2eacff1d6..cfd143b41eb1fb53868f378d668905c1c7d5f868 100644
> > --- a/fs/nfsd/nfsfh.c
> > +++ b/fs/nfsd/nfsfh.c
> > @@ -601,9 +601,9 @@ fh_compose(struct svc_fh *fhp, struct svc_export *exp, struct dentry *dentry,
> > struct inode * inode = d_inode(dentry);
> > dev_t ex_dev = exp_sb(exp)->s_dev;
> >
> > - dprintk("nfsd: fh_compose(exp %02x:%02x/%ld %pd2, ino=%ld)\n",
> > + dprintk("nfsd: fh_compose(exp %02x:%02x/%lld %pd2, ino=%lld)\n",
> > MAJOR(ex_dev), MINOR(ex_dev),
> > - (long) d_inode(exp->ex_path.dentry)->i_ino,
> > + (long long) d_inode(exp->ex_path.dentry)->i_ino,
> > dentry,
> > (inode ? inode->i_ino : 0));
> >
> > diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
> > index c884c3f34afb044ee5cacc962a04a97de2f7fd88..dde09f3734c2844a3fe0b6d18d596276a19aa2d1 100644
> > --- a/fs/nfsd/vfs.c
> > +++ b/fs/nfsd/vfs.c
> > @@ -1163,7 +1163,7 @@ nfsd_direct_read(struct svc_rqst *rqstp, struct svc_fh *fhp,
> > } else if (unlikely(host_err == -EINVAL)) {
> > struct inode *inode = d_inode(fhp->fh_dentry);
> >
> > - pr_info_ratelimited("nfsd: Direct I/O alignment failure on %s/%ld\n",
> > + pr_info_ratelimited("nfsd: Direct I/O alignment failure on %s/%lld\n",
> > inode->i_sb->s_id, inode->i_ino);
> > host_err = -ESERVERFAULT;
> > }
> >
>
> Suggestion: Let's use the %llu format specifier consistently for
> inode->i_ino, which is unsigned.
>
> Reviewed-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
>
Good plan. I'll have claude do a pass for that in the next set.
--
Jeff Layton <jlayton@xxxxxxxxxx>