SUNRPC: pass buffer size to svc_sock_names()
Adjust the synopsis of svc_sock_names() to pass in the size of the output buffer. Add a documenting comment. This is a cosmetic change for now. A subsequent patch will make sure the buffer length is passed to one_sock_name(), where the length will actually be useful. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
This commit is contained in:
parent
bfba9ab4c6
commit
8435d34dbb
|
@ -966,7 +966,8 @@ static ssize_t __write_ports_delfd(char *buf)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
if (nfsd_serv != NULL)
|
if (nfsd_serv != NULL)
|
||||||
len = svc_sock_names(buf, nfsd_serv, toclose);
|
len = svc_sock_names(nfsd_serv, buf,
|
||||||
|
SIMPLE_TRANSACTION_LIMIT, toclose);
|
||||||
if (len >= 0)
|
if (len >= 0)
|
||||||
lockd_down();
|
lockd_down();
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,9 @@ int svc_recv(struct svc_rqst *, long);
|
||||||
int svc_send(struct svc_rqst *);
|
int svc_send(struct svc_rqst *);
|
||||||
void svc_drop(struct svc_rqst *);
|
void svc_drop(struct svc_rqst *);
|
||||||
void svc_sock_update_bufs(struct svc_serv *serv);
|
void svc_sock_update_bufs(struct svc_serv *serv);
|
||||||
int svc_sock_names(char *buf, struct svc_serv *serv, char *toclose);
|
int svc_sock_names(struct svc_serv *serv, char *buf,
|
||||||
|
const size_t buflen,
|
||||||
|
const char *toclose);
|
||||||
int svc_addsock(struct svc_serv *serv, const int fd,
|
int svc_addsock(struct svc_serv *serv, const int fd,
|
||||||
char *name_return, const size_t len);
|
char *name_return, const size_t len);
|
||||||
void svc_init_xprt_sock(void);
|
void svc_init_xprt_sock(void);
|
||||||
|
|
|
@ -259,8 +259,23 @@ static int one_sock_name(char *buf, struct svc_sock *svsk)
|
||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
/**
|
||||||
svc_sock_names(char *buf, struct svc_serv *serv, char *toclose)
|
* svc_sock_names - construct a list of listener names in a string
|
||||||
|
* @serv: pointer to RPC service
|
||||||
|
* @buf: pointer to a buffer to fill in with socket names
|
||||||
|
* @buflen: size of the buffer to be filled
|
||||||
|
* @toclose: pointer to '\0'-terminated C string containing the name
|
||||||
|
* of a listener to be closed
|
||||||
|
*
|
||||||
|
* Fills in @buf with a '\n'-separated list of names of listener
|
||||||
|
* sockets. If @toclose is not NULL, the socket named by @toclose
|
||||||
|
* is closed, and is not included in the output list.
|
||||||
|
*
|
||||||
|
* Returns positive length of the socket name string, or a negative
|
||||||
|
* errno value on error.
|
||||||
|
*/
|
||||||
|
int svc_sock_names(struct svc_serv *serv, char *buf, const size_t buflen,
|
||||||
|
const char *toclose)
|
||||||
{
|
{
|
||||||
struct svc_sock *svsk, *closesk = NULL;
|
struct svc_sock *svsk, *closesk = NULL;
|
||||||
int len = 0;
|
int len = 0;
|
||||||
|
|
Loading…
Reference in New Issue