ext4: refactor ext4_move_extents code base
authorDmitry Monakhov <dmonakhov@openvz.org>
Sun, 31 Aug 2014 03:52:19 +0000 (23:52 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Sun, 31 Aug 2014 03:52:19 +0000 (23:52 -0400)
commitfcf6b1b729bcd23f2b49a84fb33ffbb44712ee6a
tree008646f85f1b0b5cb2307c3c676eee431ac4ac29
parentf8fb4f415034baeed983ca2fb0f51bd74d7370b0
ext4: refactor ext4_move_extents code base

ext4_move_extents is too complex for review. It has duplicate almost
each function available in the rest of other codebase. It has useless
artificial restriction orig_offset == donor_offset. But in fact logic
of ext4_move_extents is very simple:

Iterate extents one by one (similar to ext4_fill_fiemap_extents)
   ->Iterate each page covered extent (similar to generic_perform_write)
     ->swap extents for covered by page (can be shared with IOC_MOVE_DATA)

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