mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 19:51:31 -04:00
Merge nfs containerization work from Trond's tree
The nfs containerization work is a prerequisite for Jeff Layton's reboot recovery rework.
This commit is contained in:
commit
1df00640c9
229 changed files with 6039 additions and 3788 deletions
|
|
@ -605,24 +605,24 @@ static struct rpc_version nfs_cb_version4 = {
|
|||
.procs = nfs4_cb_procedures
|
||||
};
|
||||
|
||||
static struct rpc_version *nfs_cb_version[] = {
|
||||
static const struct rpc_version *nfs_cb_version[] = {
|
||||
&nfs_cb_version4,
|
||||
};
|
||||
|
||||
static struct rpc_program cb_program;
|
||||
static const struct rpc_program cb_program;
|
||||
|
||||
static struct rpc_stat cb_stats = {
|
||||
.program = &cb_program
|
||||
};
|
||||
|
||||
#define NFS4_CALLBACK 0x40000000
|
||||
static struct rpc_program cb_program = {
|
||||
static const struct rpc_program cb_program = {
|
||||
.name = "nfs4_cb",
|
||||
.number = NFS4_CALLBACK,
|
||||
.nrvers = ARRAY_SIZE(nfs_cb_version),
|
||||
.version = nfs_cb_version,
|
||||
.stats = &cb_stats,
|
||||
.pipe_dir_name = "/nfsd4_cb",
|
||||
.pipe_dir_name = "nfsd4_cb",
|
||||
};
|
||||
|
||||
static int max_cb_time(void)
|
||||
|
|
|
|||
|
|
@ -1346,7 +1346,7 @@ gen_callback(struct nfs4_client *clp, struct nfsd4_setclientid *se, struct svc_r
|
|||
else
|
||||
goto out_err;
|
||||
|
||||
conn->cb_addrlen = rpc_uaddr2sockaddr(se->se_callback_addr_val,
|
||||
conn->cb_addrlen = rpc_uaddr2sockaddr(&init_net, se->se_callback_addr_val,
|
||||
se->se_callback_addr_len,
|
||||
(struct sockaddr *)&conn->cb_addr,
|
||||
sizeof(conn->cb_addr));
|
||||
|
|
|
|||
|
|
@ -223,7 +223,7 @@ static ssize_t write_unlock_ip(struct file *file, char *buf, size_t size)
|
|||
if (qword_get(&buf, fo_path, size) < 0)
|
||||
return -EINVAL;
|
||||
|
||||
if (rpc_pton(fo_path, size, sap, salen) == 0)
|
||||
if (rpc_pton(&init_net, fo_path, size, sap, salen) == 0)
|
||||
return -EINVAL;
|
||||
|
||||
return nlmsvc_unlock_all_by_ip(sap);
|
||||
|
|
@ -722,7 +722,7 @@ static ssize_t __write_ports_addxprt(char *buf)
|
|||
nfsd_serv->sv_nrthreads--;
|
||||
return 0;
|
||||
out_close:
|
||||
xprt = svc_find_xprt(nfsd_serv, transport, PF_INET, port);
|
||||
xprt = svc_find_xprt(nfsd_serv, transport, &init_net, PF_INET, port);
|
||||
if (xprt != NULL) {
|
||||
svc_close_xprt(xprt);
|
||||
svc_xprt_put(xprt);
|
||||
|
|
@ -748,7 +748,7 @@ static ssize_t __write_ports_delxprt(char *buf)
|
|||
if (port < 1 || port > USHRT_MAX || nfsd_serv == NULL)
|
||||
return -EINVAL;
|
||||
|
||||
xprt = svc_find_xprt(nfsd_serv, transport, AF_UNSPEC, port);
|
||||
xprt = svc_find_xprt(nfsd_serv, transport, &init_net, AF_UNSPEC, port);
|
||||
if (xprt == NULL)
|
||||
return -ENOTCONN;
|
||||
|
||||
|
|
|
|||
|
|
@ -251,13 +251,13 @@ static void nfsd_shutdown(void)
|
|||
nfsd_up = false;
|
||||
}
|
||||
|
||||
static void nfsd_last_thread(struct svc_serv *serv)
|
||||
static void nfsd_last_thread(struct svc_serv *serv, struct net *net)
|
||||
{
|
||||
/* When last nfsd thread exits we need to do some clean-up */
|
||||
nfsd_serv = NULL;
|
||||
nfsd_shutdown();
|
||||
|
||||
svc_rpcb_cleanup(serv);
|
||||
svc_rpcb_cleanup(serv, net);
|
||||
|
||||
printk(KERN_WARNING "nfsd: last server has exited, flushing export "
|
||||
"cache\n");
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@
|
|||
#include <linux/module.h>
|
||||
#include <linux/sunrpc/stats.h>
|
||||
#include <linux/nfsd/stats.h>
|
||||
#include <net/net_namespace.h>
|
||||
|
||||
#include "nfsd.h"
|
||||
|
||||
|
|
@ -94,11 +95,11 @@ static const struct file_operations nfsd_proc_fops = {
|
|||
void
|
||||
nfsd_stat_init(void)
|
||||
{
|
||||
svc_proc_register(&nfsd_svcstats, &nfsd_proc_fops);
|
||||
svc_proc_register(&init_net, &nfsd_svcstats, &nfsd_proc_fops);
|
||||
}
|
||||
|
||||
void
|
||||
nfsd_stat_shutdown(void)
|
||||
{
|
||||
svc_proc_unregister("nfsd");
|
||||
svc_proc_unregister(&init_net, "nfsd");
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue