Bug 20342 - [LogFS] [2.6.36-rc7] Deadlock in logfs_get_wblocks, hold and wait on same lock super->s_write_mutex
[LogFS] [2.6.36-rc7] Deadlock in logfs_get_wblocks, hold and wait on same loc...
Status: CLOSED CODE_FIX
Product: File System
Classification: Unclassified
Component: Other
All Linux
: P1 normal
Assigned To: fs_other
:
Depends on:
Blocks: 16444
  Show dependency treegraph
 
Reported: 2010-10-14 17:56 UTC by Maciej Rutecki
Modified: 2010-12-24 13:44 UTC (History)
4 users (show)

See Also:
Kernel Version: 2.6.36-rc7
Tree: Mainline
Regression: Yes


Attachments
do_logfs_journal_wl_pass() should use GFP_NOFS for memory allocation (645 bytes, patch)
2010-10-15 03:53 UTC, Prasad Gajanan Joshi.
Details | Diff

Description Maciej Rutecki 2010-10-14 17:56:56 UTC
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.
Comment 1 Prasad Gajanan Joshi. 2010-10-15 03:53:56 UTC
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.
Comment 2 Florian Mickler 2010-11-16 15:27:59 UTC
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 )
Comment 3 Florian Mickler 2010-12-07 18:46:11 UTC
Patch: https://patchwork.kernel.org/patch/328682/

Note You need to log in before you can comment on or make changes to this bug.