[Devel] [PATCH] ext3: ext3_symlink should use GFP_NOFS allocations inside (ver. 3)

Kirill Korotaev dev at openvz.org
Fri Mar 10 00:46:04 PST 2006


Andrew,

Fixed both comments from Al Viro (thanks, Al):
- should have a separate helper
- should pass 0 instead of GFP_KERNEL in page_symlink()

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 at saw.sw.com.sg>
Signed-Off-By: Kirill Korotaev <dev at openvz.org>

Thanks,
Kirill
P.S. against 2.6.16-rc5
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: diff-ext3-nofssymlink-20060210
URL: <http://lists.openvz.org/pipermail/devel/attachments/20060310/45449a29/attachment-0001.ksh>


More information about the Devel mailing list