aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorPawit Pornkitprasan <p.pawit@gmail.com>2013-03-04 19:33:56 +0700
committerPawit Pornkitprasan <p.pawit@gmail.com>2013-03-04 19:33:56 +0700
commitcdf733ed16cf85e9d89ed45f0eceb060f77955fd (patch)
treed6a234e722ad2d4c25b7c8bc3640b731525d8498 /net
parent1736943179733a4629e0eaa773848bdeeaeefec1 (diff)
parente28c3f2b514b5581e15614f7cf976131092cf4b6 (diff)
downloadkernel_samsung_aries-cdf733ed16cf85e9d89ed45f0eceb060f77955fd.zip
kernel_samsung_aries-cdf733ed16cf85e9d89ed45f0eceb060f77955fd.tar.gz
kernel_samsung_aries-cdf733ed16cf85e9d89ed45f0eceb060f77955fd.tar.bz2
Merge 3.0.68
Conflicts: kernel/cgroup.c Change-Id: Ibae53bbb0eafbf4d273fce805eddce3db9ca48f9
Diffstat (limited to 'net')
-rw-r--r--net/sunrpc/svc_xprt.c15
1 files changed, 2 insertions, 13 deletions
diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c
index 05dbccf..e47876c 100644
--- a/net/sunrpc/svc_xprt.c
+++ b/net/sunrpc/svc_xprt.c
@@ -824,7 +824,6 @@ static void svc_age_temp_xprts(unsigned long closure)
struct svc_serv *serv = (struct svc_serv *)closure;
struct svc_xprt *xprt;
struct list_head *le, *next;
- LIST_HEAD(to_be_aged);
dprintk("svc_age_temp_xprts\n");
@@ -845,25 +844,15 @@ static void svc_age_temp_xprts(unsigned long closure)
if (atomic_read(&xprt->xpt_ref.refcount) > 1 ||
test_bit(XPT_BUSY, &xprt->xpt_flags))
continue;
- svc_xprt_get(xprt);
- list_move(le, &to_be_aged);
+ list_del_init(le);
set_bit(XPT_CLOSE, &xprt->xpt_flags);
set_bit(XPT_DETACHED, &xprt->xpt_flags);
- }
- spin_unlock_bh(&serv->sv_lock);
-
- while (!list_empty(&to_be_aged)) {
- le = to_be_aged.next;
- /* fiddling the xpt_list node is safe 'cos we're XPT_DETACHED */
- list_del_init(le);
- xprt = list_entry(le, struct svc_xprt, xpt_list);
-
dprintk("queuing xprt %p for closing\n", xprt);
/* a thread will dequeue and close it soon */
svc_xprt_enqueue(xprt);
- svc_xprt_put(xprt);
}
+ spin_unlock_bh(&serv->sv_lock);
mod_timer(&serv->sv_temptimer, jiffies + svc_conn_age_period * HZ);
}