diff options
author | Prasad Joshi <prasadjoshi124@gmail.com> | 2010-12-21 17:24:19 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-12-22 19:43:33 -0800 |
commit | eabb26cacdec33ca6f6fcaee762b57c2205169ca (patch) | |
tree | aa6975de08a6843d7d23f741644b2b3fca2980b4 /fs/logfs/readwrite.c | |
parent | 7a2d19bced51af31d2c9ff55219400ed0a6c012f (diff) |
logfs: fix deadlock in logfs_get_wblocks, hold and wait on super->s_write_mutex
do_logfs_journal_wl_pass() should use GFP_NOFS for memory allocation GC
code calls btree_insert32 with GFP_KERNEL while holding a mutex
super->s_write_mutex.
The same mutex is used in address_space_operations->writepage(), and a
call to writepage() could be triggered as a result of memory allocation
in btree_insert32, causing a deadlock.
Addresses https://bugzilla.kernel.org/show_bug.cgi?id=20342
Signed-off-by: Prasad Joshi <prasadjoshi124@gmail.com>
Cc: Joern Engel <joern@logfs.org>
Cc: Florian Mickler <florian@mickler.org>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Maciej Rutecki <maciej.rutecki@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/logfs/readwrite.c')
0 files changed, 0 insertions, 0 deletions