Andrew, Resending a patch with a separate helper as requested by Al Viro: 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 Signed-Off-By: Kirill Korotaev Thanks, Kirill P.S. against 2.6.16-rc5