All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dai Ngo <dai.ngo@oracle.com>
To: chuck.lever@oracle.com, bfields@fieldses.org
Cc: jlayton@redhat.com, viro@zeniv.linux.org.uk,
	linux-nfs@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: [PATCH RFC v25 7/7] NFSD: Show state of courtesy client in client info
Date: Mon,  2 May 2022 14:19:27 -0700	[thread overview]
Message-ID: <1651526367-1522-8-git-send-email-dai.ngo@oracle.com> (raw)
In-Reply-To: <1651526367-1522-1-git-send-email-dai.ngo@oracle.com>

Update client_info_show to show state of courtesy client
and seconds since last renew.

Reviewed-by: J. Bruce Fields <bfields@fieldses.org>
Signed-off-by: Dai Ngo <dai.ngo@oracle.com>
---
 fs/nfsd/nfs4state.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index 2bcdc6e4ad91..231e5c19cdb7 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -2481,10 +2481,17 @@ static int client_info_show(struct seq_file *m, void *v)
 	memcpy(&clid, &clp->cl_clientid, sizeof(clid));
 	seq_printf(m, "clientid: 0x%llx\n", clid);
 	seq_printf(m, "address: \"%pISpc\"\n", (struct sockaddr *)&clp->cl_addr);
-	if (test_bit(NFSD4_CLIENT_CONFIRMED, &clp->cl_flags))
+
+	if (clp->cl_state == NFSD4_COURTESY)
+		seq_puts(m, "status: courtesy\n");
+	else if (clp->cl_state == NFSD4_EXPIRABLE)
+		seq_puts(m, "status: expirable\n");
+	else if (test_bit(NFSD4_CLIENT_CONFIRMED, &clp->cl_flags))
 		seq_puts(m, "status: confirmed\n");
 	else
 		seq_puts(m, "status: unconfirmed\n");
+	seq_printf(m, "seconds from last renew: %lld\n",
+		ktime_get_boottime_seconds() - clp->cl_time);
 	seq_printf(m, "name: ");
 	seq_quote_mem(m, clp->cl_name.data, clp->cl_name.len);
 	seq_printf(m, "\nminor version: %d\n", clp->cl_minorversion);
-- 
2.9.5


  parent reply	other threads:[~2022-05-02 21:19 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-02 21:19 [PATCH RFC v25 0/7] NFSD: Initial implementation of NFSv4 Courteous Server Dai Ngo
2022-05-02 21:19 ` [PATCH RFC v25 1/7] NFSD: add courteous server support for thread with only delegation Dai Ngo
2022-05-02 21:19 ` [PATCH RFC v25 2/7] NFSD: add support for share reservation conflict to courteous server Dai Ngo
2022-05-02 21:19 ` [PATCH RFC v25 3/7] NFSD: move create/destroy of laundry_wq to init_nfsd and exit_nfsd Dai Ngo
2022-05-02 21:19 ` [PATCH RFC v25 4/7] fs/lock: add helper locks_owner_has_blockers to check for blockers Dai Ngo
2022-05-09 17:05   ` Jeff Layton
2022-05-02 21:19 ` [PATCH RFC v25 5/7] fs/lock: add 2 callbacks to lock_manager_operations to resolve conflict Dai Ngo
2022-05-09 15:41   ` Chuck Lever III
2022-05-09 17:03   ` Jeff Layton
2022-05-02 21:19 ` [PATCH RFC v25 6/7] NFSD: add support for lock conflict to courteous server Dai Ngo
2022-05-02 21:19 ` Dai Ngo [this message]
2022-05-03  1:12 ` [PATCH RFC v25 0/7] NFSD: Initial implementation of NFSv4 Courteous Server J. Bruce Fields
2022-05-03  1:21   ` J. Bruce Fields
2022-05-03  1:38     ` dai.ngo
2022-05-23 15:40       ` J. Bruce Fields
2022-05-23 16:57         ` dai.ngo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1651526367-1522-8-git-send-email-dai.ngo@oracle.com \
    --to=dai.ngo@oracle.com \
    --cc=bfields@fieldses.org \
    --cc=chuck.lever@oracle.com \
    --cc=jlayton@redhat.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.