Commit 0a5372d8 authored by Chuck Lever's avatar Chuck Lever Committed by J. Bruce Fields

NFSD: Finish refactoring __write_ports()

Clean up: Refactor transport name listing out of __write_ports() to
make it easier to understand and maintain.
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
Signed-off-by: default avatarJ. Bruce Fields <bfields@citi.umich.edu>
parent c71206a7
......@@ -910,6 +910,17 @@ static ssize_t write_versions(struct file *file, char *buf, size_t size)
return rv;
}
/*
* Zero-length write. Return a list of NFSD's current listener
* transports.
*/
static ssize_t __write_ports_names(char *buf)
{
if (nfsd_serv == NULL)
return 0;
return svc_xprt_names(nfsd_serv, buf, 0);
}
/*
* A single 'fd' number was written, in which case it must be for
* a socket of a supported family/protocol, and we use it as an
......@@ -1019,13 +1030,8 @@ static ssize_t __write_ports_delxprt(char *buf)
static ssize_t __write_ports(struct file *file, char *buf, size_t size)
{
if (size == 0) {
int len = 0;
if (nfsd_serv)
len = svc_xprt_names(nfsd_serv, buf, 0);
return len;
}
if (size == 0)
return __write_ports_names(buf);
if (isdigit(buf[0]))
return __write_ports_addfd(buf);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment