From: J. Bruce Fields Date: Sun, 10 Feb 2013 16:33:48 +0000 (-0500) Subject: svcrpc: make svc_age_temp_xprts enqueue under sv_lock X-Git-Tag: v3.2.40~89 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a60210baeedfc036f19fcbf58fe9c82d26ea12a5;p=pandora-kernel.git svcrpc: make svc_age_temp_xprts enqueue under sv_lock commit e75bafbff2270993926abcc31358361db74a9bc2 upstream. svc_age_temp_xprts expires xprts in a two-step process: first it takes the sv_lock and moves the xprts to expire off their server-wide list (sv_tempsocks or sv_permsocks) to a local list. Then it drops the sv_lock and enqueues and puts each one. I see no reason for this: svc_xprt_enqueue() will take sp_lock, but the sv_lock and sp_lock are not otherwise nested anywhere (and documentation at the top of this file claims it's correct to nest these with sp_lock inside.) Tested-by: Jason Tibbitts Tested-by: Paweł Sikora Signed-off-by: J. Bruce Fields Signed-off-by: Ben Hutchings --- Reading git-diff-tree failed