]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 28 Sep 2012 00:29:49 +0000 (17:29 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 28 Sep 2012 00:29:49 +0000 (17:29 -0700)
added patches:
lockd-pass-service-to-per-net-up-and-down-functions.patch

queue-3.4/lockd-pass-service-to-per-net-up-and-down-functions.patch [new file with mode: 0644]
queue-3.4/series

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 (file)
index 0000000..afac001
--- /dev/null
@@ -0,0 +1,72 @@
+From 4db77695bf5738bdafa83d1b58b64cbecc6f55e7 Mon Sep 17 00:00:00 2001
+From: Stanislav Kinsbursky <skinsbursky@parallels.com>
+Date: Wed, 25 Apr 2012 18:22:40 +0400
+Subject: LockD: pass service to per-net up and down functions
+
+From: Stanislav Kinsbursky <skinsbursky@parallels.com>
+
+commit 4db77695bf5738bdafa83d1b58b64cbecc6f55e7 upstream.
+
+Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
+Signed-off-by: J. Bruce Fields <bfields@redhat.com>
+Cc: Jason Wessel <jason.wessel@windriver.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+
+---
+ 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;
index dcf6648ba26d70ebb693449278b6dd8a17f9b0b6..4e7e859d7dcc2154ccb7e454255c9c18ac318a30 100644 (file)
@@ -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