Subject : [LogFS] [2.6.36-rc7] Deadlock in logfs_get_wblocks, hold and wait on same lock super->s_write_mutex Submitter : Prasad Joshi <prasadjoshi124@gmail.com> Date : 2010-10-13 9:49 Message-ID : AANLkTinvsMxTxEbDEFmb5M-6fYjdRvErU==Zs7+qANkV@mail.gmail.com References : http://marc.info/?l=linux-kernel&m=128696335024718&w=2 This entry is being used for tracking a regression from 2.6.35. Please don't close it until the problem is fixed in the mainline.
Created attachment 33672 [details] do_logfs_journal_wl_pass() should use GFP_NOFS for memory allocation GC code calls btree_insert32 with GFP_KERNEL while holding a mutex lock super->s_write_mutex. The same mutex is used in address_space_operations->writepage(). Call to writepage() could be triggered as a result of memory allocation in btree_insert32, causing a deadlock.
Please submit this patch on lkml and the logfs mailinglist for review. The logfs maintainers seem to not be aware of the bugzilla. ( Documentation/SubmittingPatches )
Patch: https://patchwork.kernel.org/patch/328682/
Fixed by http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eabb26cacdec33ca6f6fcaee762b57c2205169ca .