From: Greg Kroah-Hartman Date: Fri, 28 Sep 2012 00:29:49 +0000 (-0700) Subject: 3.4-stable patches X-Git-Tag: v3.0.44~17 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d1bca1740c0a52c66f1adaf03589edc8ead68802;p=thirdparty%2Fkernel%2Fstable-queue.git 3.4-stable patches added patches: lockd-pass-service-to-per-net-up-and-down-functions.patch --- diff --git a/queue-3.4/lockd-pass-service-to-per-net-up-and-down-functions.patch b/queue-3.4/lockd-pass-service-to-per-net-up-and-down-functions.patch new file mode 100644 index 00000000000..afac001b934 --- /dev/null +++ b/queue-3.4/lockd-pass-service-to-per-net-up-and-down-functions.patch @@ -0,0 +1,72 @@ +From 4db77695bf5738bdafa83d1b58b64cbecc6f55e7 Mon Sep 17 00:00:00 2001 +From: Stanislav Kinsbursky +Date: Wed, 25 Apr 2012 18:22:40 +0400 +Subject: LockD: pass service to per-net up and down functions + +From: Stanislav Kinsbursky + +commit 4db77695bf5738bdafa83d1b58b64cbecc6f55e7 upstream. + +Signed-off-by: Stanislav Kinsbursky +Signed-off-by: J. Bruce Fields +Cc: Jason Wessel +Signed-off-by: Greg Kroah-Hartman + + +--- + fs/lockd/svc.c | 12 +++++------- + 1 file changed, 5 insertions(+), 7 deletions(-) + +--- a/fs/lockd/svc.c ++++ b/fs/lockd/svc.c +@@ -251,10 +251,9 @@ out_err: + return err; + } + +-static int lockd_up_net(struct net *net) ++static int lockd_up_net(struct svc_serv *serv, struct net *net) + { + struct lockd_net *ln = net_generic(net, lockd_net_id); +- struct svc_serv *serv = nlmsvc_rqst->rq_server; + int error; + + if (ln->nlmsvc_users++) +@@ -276,10 +275,9 @@ err_rpcb: + return error; + } + +-static void lockd_down_net(struct net *net) ++static void lockd_down_net(struct svc_serv *serv, struct net *net) + { + struct lockd_net *ln = net_generic(net, lockd_net_id); +- struct svc_serv *serv = nlmsvc_rqst->rq_server; + + if (ln->nlmsvc_users) { + if (--ln->nlmsvc_users == 0) { +@@ -307,7 +305,7 @@ int lockd_up(struct net *net) + * Check whether we're already up and running. + */ + if (nlmsvc_rqst) { +- error = lockd_up_net(net); ++ error = lockd_up_net(nlmsvc_rqst->rq_server, net); + goto out; + } + +@@ -378,7 +376,7 @@ out: + return error; + + err_start: +- lockd_down_net(net); ++ lockd_down_net(serv, net); + goto destroy_and_out; + } + EXPORT_SYMBOL_GPL(lockd_up); +@@ -390,7 +388,7 @@ void + lockd_down(struct net *net) + { + mutex_lock(&nlmsvc_mutex); +- lockd_down_net(net); ++ lockd_down_net(nlmsvc_rqst->rq_server, net); + if (nlmsvc_users) { + if (--nlmsvc_users) + goto out; diff --git a/queue-3.4/series b/queue-3.4/series index dcf6648ba26..4e7e859d7dc 100644 --- a/queue-3.4/series +++ b/queue-3.4/series @@ -207,3 +207,4 @@ nfsd-introduce-nfsd_destroy-helper.patch nfsd-set-nfsd_serv-to-null-after-service-destruction.patch kthread_worker-reorganize-to-prepare-for-flush_kthread_work-reimplementation.patch kthread_worker-reimplement-flush_kthread_work-to-allow-freeing-the-work-item-being-executed.patch +lockd-pass-service-to-per-net-up-and-down-functions.patch