ext4: reimplement uninit extent optimization for move_extent_per_page()
authorDmitry Monakhov <dmonakhov@openvz.org>
Wed, 26 Sep 2012 16:54:52 +0000 (12:54 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Wed, 26 Sep 2012 16:54:52 +0000 (12:54 -0400)
commit8c85447391735469f407add6fdb0630ce59d7f6d
tree9c047814f2aaaf0a61a611605a88c3c9f9e3184b
parentbb5574880574fea38c674942cf0360253a2d60fe
ext4: reimplement uninit extent optimization for move_extent_per_page()

Uninitialized extent may became initialized(parallel writeback task)
at any moment after we drop i_data_sem, so we have to recheck extent's
state after we hold page's lock and i_data_sem.

If we about to change page's mapping we must hold page's lock in order to
serialize other users.

Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/move_extent.c