SUNRPC: parametrize rpc_pton6() by network context
Parametrize rpc_pton6() by network context and thus force it's caller to pass in network context instead of using hard-coded "init_net". Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
Родитель
3065f1e29a
Коммит
8b147f7473
|
@ -198,7 +198,7 @@ static int rpc_parse_scope_id(struct net *net, const char *buf,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static size_t rpc_pton6(const char *buf, const size_t buflen,
|
static size_t rpc_pton6(struct net *net, const char *buf, const size_t buflen,
|
||||||
struct sockaddr *sap, const size_t salen)
|
struct sockaddr *sap, const size_t salen)
|
||||||
{
|
{
|
||||||
struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)sap;
|
struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)sap;
|
||||||
|
@ -214,14 +214,14 @@ static size_t rpc_pton6(const char *buf, const size_t buflen,
|
||||||
if (in6_pton(buf, buflen, addr, IPV6_SCOPE_DELIMITER, &delim) == 0)
|
if (in6_pton(buf, buflen, addr, IPV6_SCOPE_DELIMITER, &delim) == 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (!rpc_parse_scope_id(&init_net, buf, buflen, delim, sin6))
|
if (!rpc_parse_scope_id(net, buf, buflen, delim, sin6))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
sin6->sin6_family = AF_INET6;
|
sin6->sin6_family = AF_INET6;
|
||||||
return sizeof(struct sockaddr_in6);
|
return sizeof(struct sockaddr_in6);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
static size_t rpc_pton6(const char *buf, const size_t buflen,
|
static size_t rpc_pton6(struct net *net, const char *buf, const size_t buflen,
|
||||||
struct sockaddr *sap, const size_t salen)
|
struct sockaddr *sap, const size_t salen)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -249,7 +249,7 @@ size_t rpc_pton(const char *buf, const size_t buflen,
|
||||||
|
|
||||||
for (i = 0; i < buflen; i++)
|
for (i = 0; i < buflen; i++)
|
||||||
if (buf[i] == ':')
|
if (buf[i] == ':')
|
||||||
return rpc_pton6(buf, buflen, sap, salen);
|
return rpc_pton6(&init_net, buf, buflen, sap, salen);
|
||||||
return rpc_pton4(buf, buflen, sap, salen);
|
return rpc_pton4(buf, buflen, sap, salen);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(rpc_pton);
|
EXPORT_SYMBOL_GPL(rpc_pton);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче