On Wed, May 27 2009, Damien Wyart wrote: > > > > OK, I spotted the problem. If we fallback to the on-stack allocation in > > > > bdi_writeback_all(), then we do the wait for the work completion with > > > > the bdi_lock mutex held. This can deadlock with bdi_forker_task(), so if > > > > we require that to be invoked to make progress (happens if a thread > > > > needs to be restarted), then we have a deadlock on that mutex. > > > > > I'll cook up a fix for this, but probably not before the morning. > > > > Untested fix. I think it should work, but I haven't run it here yet. > > > Thanks for your feedback and explanations. Will not be able to test the > > patch before the afternoon. Will then give feedback as soon as I can. Of > > course, I can also test a new fix or series if you send one in the > > morning, after your own testing. > > Just ran a quick test with your fix applied and ran into the same > problem: manual sync stays in D state. I could capture SysRq-T, I am > attaching part of the output (which was very big and continuously > displaying). Yeah, that patch was still buggy. I have it fixed now locally, I'll post a v8 within the hour! -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html