]> git.baikalelectronics.ru Git - kernel.git/commit
ext4: Fix deadlock in ext4_write_begin() and ext4_da_write_begin()
authorJan Kara <jack@suse.cz>
Mon, 23 Feb 2009 02:09:59 +0000 (21:09 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 23 Feb 2009 02:09:59 +0000 (21:09 -0500)
commit77defb41b50e07f58055f8b4b0f3b839cbb7b9f8
treea7ecd4c6ef1d05619abeefea831e8f73ffadda11
parentc6d000679487d4a69fc4a1549eea1cf928dd73d0
ext4: Fix deadlock in ext4_write_begin() and ext4_da_write_begin()

Functions ext4_write_begin() and ext4_da_write_begin() call
grab_cache_page_write_begin() without AOP_FLAG_NOFS. Thus it
can happen that page reclaim is triggered in that function
and it recurses back into the filesystem (or some other filesystem).
But this can lead to various problems as a transaction is already
started at that point. Add the necessary flag.

http://bugzilla.kernel.org/show_bug.cgi?id=11688

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/inode.c