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

Attachment: signature.asc
Description: OpenPGP digital signature



Reply via email to