Message ID | 20210602175139.436357-2-dwysocha@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add callback address and state to nfsd4 client info | expand |
Thanks, applied.--b. On Wed, Jun 02, 2021 at 01:51:39PM -0400, Dave Wysochanski wrote: > In addition to the client's address, display the callback channel > state and address in the 'info' file. > > Signed-off-by: Dave Wysochanski <dwysocha@redhat.com> > Signed-off-by: J. Bruce Fields <bfields@redhat.com> > --- > fs/nfsd/nfs4state.c | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) > > diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c > index c404c6ec52af..967912b4a7dd 100644 > --- a/fs/nfsd/nfs4state.c > +++ b/fs/nfsd/nfs4state.c > @@ -2358,6 +2358,21 @@ static void seq_quote_mem(struct seq_file *m, char *data, int len) > seq_printf(m, "\""); > } > > +static const char *cb_state2str(int state) > +{ > + switch (state) { > + case NFSD4_CB_UP: > + return "UP"; > + case NFSD4_CB_UNKNOWN: > + return "UNKNOWN"; > + case NFSD4_CB_DOWN: > + return "DOWN"; > + case NFSD4_CB_FAULT: > + return "FAULT"; > + } > + return "UNDEFINED"; > +} > + > static int client_info_show(struct seq_file *m, void *v) > { > struct inode *inode = m->private; > @@ -2386,6 +2401,8 @@ static int client_info_show(struct seq_file *m, void *v) > seq_printf(m, "\nImplementation time: [%lld, %ld]\n", > clp->cl_nii_time.tv_sec, clp->cl_nii_time.tv_nsec); > } > + seq_printf(m, "callback state: %s\n", cb_state2str(clp->cl_cb_state)); > + seq_printf(m, "callback address: %pISpc\n", &clp->cl_cb_conn.cb_addr); > drop_client(clp); > > return 0; > -- > 2.31.1
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index c404c6ec52af..967912b4a7dd 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c @@ -2358,6 +2358,21 @@ static void seq_quote_mem(struct seq_file *m, char *data, int len) seq_printf(m, "\""); } +static const char *cb_state2str(int state) +{ + switch (state) { + case NFSD4_CB_UP: + return "UP"; + case NFSD4_CB_UNKNOWN: + return "UNKNOWN"; + case NFSD4_CB_DOWN: + return "DOWN"; + case NFSD4_CB_FAULT: + return "FAULT"; + } + return "UNDEFINED"; +} + static int client_info_show(struct seq_file *m, void *v) { struct inode *inode = m->private; @@ -2386,6 +2401,8 @@ static int client_info_show(struct seq_file *m, void *v) seq_printf(m, "\nImplementation time: [%lld, %ld]\n", clp->cl_nii_time.tv_sec, clp->cl_nii_time.tv_nsec); } + seq_printf(m, "callback state: %s\n", cb_state2str(clp->cl_cb_state)); + seq_printf(m, "callback address: %pISpc\n", &clp->cl_cb_conn.cb_addr); drop_client(clp); return 0;