On Sun, 2020-04-19 at 23:06 +0530, Achilles Gaikwad wrote: > Add filename to states output for ease of debugging. > > Signed-off-by: Achilles Gaikwad <agaikwad@xxxxxxxxxx> > Signed-off-by: Kenneth Dsouza <kdsouza@xxxxxxxxxx> > --- > fs/nfsd/nfs4state.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c > index e32ecedece0f..0f4ed5e3fbe4 100644 > --- a/fs/nfsd/nfs4state.c > +++ b/fs/nfsd/nfs4state.c > @@ -2414,6 +2414,11 @@ static void nfs4_show_superblock(struct > seq_file *s, struct nfsd_file *f) > inode->i_ino); > } > > +static void nfs4_show_fname(struct seq_file *s, struct nfsd_file *f) > +{ > + seq_printf(s, "filename: \"%s\"", f->nf_file->f_path.dentry- > >d_name.name); Please consider using the '%pD' format specifier, as described in Documentation/core-api/printk-formats.rst, which is designed to avoid races with rename in cases like the above. Note that most debugging printks use something like %pD2 in order to display the name of the parent directory as well, in which case you want seq_printf (s, "filename: \"%pD2\"", f->nf_file); > +} > + > static void nfs4_show_owner(struct seq_file *s, struct > nfs4_stateowner *oo) > { > seq_printf(s, "owner: "); > @@ -2449,6 +2454,8 @@ static int nfs4_show_open(struct seq_file *s, > struct nfs4_stid *st) > > nfs4_show_superblock(s, file); > seq_printf(s, ", "); > + nfs4_show_fname(s, file); > + seq_printf(s, ", "); > nfs4_show_owner(s, oo); > seq_printf(s, " }\n"); > nfsd_file_put(file); > @@ -2480,6 +2487,8 @@ static int nfs4_show_lock(struct seq_file *s, > struct nfs4_stid *st) > nfs4_show_superblock(s, file); > /* XXX: open stateid? */ > seq_printf(s, ", "); > + nfs4_show_fname(s, file); > + seq_printf(s, ", "); > nfs4_show_owner(s, oo); > seq_printf(s, " }\n"); > nfsd_file_put(file); > @@ -2506,6 +2515,7 @@ static int nfs4_show_deleg(struct seq_file *s, > struct nfs4_stid *st) > /* XXX: lease time, whether it's being recalled. */ > > nfs4_show_superblock(s, file); > + nfs4_show_fname(s, file); > seq_printf(s, " }\n"); > > return 0; > @@ -2524,6 +2534,7 @@ static int nfs4_show_layout(struct seq_file *s, > struct nfs4_stid *st) > /* XXX: What else would be useful? */ > > nfs4_show_superblock(s, file); > + nfs4_show_fname(s, file); > seq_printf(s, " }\n"); > > return 0; -- Trond Myklebust Linux NFS client maintainer, Hammerspace trond.myklebust@xxxxxxxxxxxxxxx