[PATCH] ext3: ext3_symlink should use GFP_NOFS allocations inside
authorKirill Korotaev <dev@openvz.org>
Sat, 11 Mar 2006 11:27:13 +0000 (03:27 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sat, 11 Mar 2006 17:19:34 +0000 (09:19 -0800)
commit0adb25d2e71ab047423d6fc63d5d184590d0a66f
tree0fd00ea22c07c88c3f24085cbf89f0a272f56697
parent8bd0ee93fef9733c72fef1817330b3ee2b71cf9d
[PATCH] ext3: ext3_symlink should use GFP_NOFS allocations inside

This patch fixes illegal __GFP_FS allocation inside ext3 transaction in
ext3_symlink().  Such allocation may re-enter ext3 code from
try_to_free_pages.  But JBD/ext3 code keeps a pointer to current journal
handle in task_struct and, hence, is not reentrable.

This bug led to "Assertion failure in journal_dirty_metadata()" messages.

http://bugzilla.openvz.org/show_bug.cgi?id=115

Signed-off-by: Andrey Savochkin <saw@saw.sw.com.sg>
Signed-off-by: Kirill Korotaev <dev@openvz.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
fs/ext3/namei.c
fs/namei.c
include/linux/fs.h