Skip to content

Commit

Permalink
NFSD: Finish refactoring __write_ports()
Browse files Browse the repository at this point in the history
Clean up: Refactor transport name listing out of __write_ports() to
make it easier to understand and maintain.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
  • Loading branch information
Chuck Lever authored and J. Bruce Fields committed Apr 28, 2009
1 parent c71206a commit 0a5372d
Showing 1 changed file with 13 additions and 7 deletions.
20 changes: 13 additions & 7 deletions fs/nfsd/nfsctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit 0a5372d

Please sign in to comment.