On Tue, Nov 19, 2024 at 11:41:30AM +1100, NeilBrown wrote: > Each client now reports the number of slots allocated in each session. Can this file also report the target slot count? Ie, is the server matching the client's requested slot count, or is it over or under by some number? Would it be useful for a server tester or administrator to poke a target slot count value into this file and watch the machinery adjust? > Signed-off-by: NeilBrown <neilb@xxxxxxx> > --- > fs/nfsd/nfs4state.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c > index 3889ba1c653f..31ff9f92a895 100644 > --- a/fs/nfsd/nfs4state.c > +++ b/fs/nfsd/nfs4state.c > @@ -2642,6 +2642,7 @@ static const char *cb_state2str(int state) > static int client_info_show(struct seq_file *m, void *v) > { > struct inode *inode = file_inode(m->file); > + struct nfsd4_session *ses; > struct nfs4_client *clp; > u64 clid; > > @@ -2678,6 +2679,13 @@ static int client_info_show(struct seq_file *m, void *v) > seq_printf(m, "callback address: \"%pISpc\"\n", &clp->cl_cb_conn.cb_addr); > seq_printf(m, "admin-revoked states: %d\n", > atomic_read(&clp->cl_admin_revoked)); > + seq_printf(m, "session slots:"); > + spin_lock(&clp->cl_lock); > + list_for_each_entry(ses, &clp->cl_sessions, se_perclnt) > + seq_printf(m, " %u", ses->se_fchannel.maxreqs); > + spin_unlock(&clp->cl_lock); > + seq_puts(m, "\n"); > + > drop_client(clp); > > return 0; > -- > 2.47.0 > -- Chuck Lever