Subject : [LogFS] [2.6.36-rc7] Deadlock in logfs_get_wblocks, hold and wait on same lock super->s_write_mutex
Submitter : Prasad Joshi <firstname.lastname@example.org>
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 )
Fixed by http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eabb26cacdec33ca6f6fcaee762b57c2205169ca .