Le 25.03.2005 04:54, Pete Zaitcev a �crit :
On Thu, 24 Mar 2005 13:23:19 -0800 Andrew Morton <[EMAIL PROTECTED]> wrote:
ub_disconnect() calls ub_cleanup() under ub_lock.
ub_cleanup() calls blk_cleanup_queue(), which can sleep in elevator_exit()->flush_workqueue().
I'm a little surprised that this wasn't noticed earlier - I don't think there have been any recent changes in this part of the block layer.
There were changes in ub, which moved blk_cleanup_queue from ub_disconnect to ub_cleanup (which is called under lock). I did not see the traceback possibly because I built without CONFIG_SMP.
I have a fix, however applying it will cause the multilun patch to conflict. I attached that one to the bug in case Laurent wants to verify the fix.
There's also a fix for the multilun version, which should fix this in Greg's tree, appended to this mail. It may be easier to have Greg take it, then push both, I dunno...
-- Pete
[snip]
Pete, the patch you attached to the bug report (http://bugme.osdl.org/show_bug.cgi?id=4398) solved the problem.
Thanks for your help. (I'll close the bug report) -- laurent
signature.asc
Description: OpenPGP digital signature
