ext4: Remove unneeded BUG_ON() in ext4_move_extents()
authorAkira Fujita <a-fujita@rs.jp.nec.com>
Sun, 6 Sep 2009 02:11:55 +0000 (22:11 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Sun, 6 Sep 2009 02:11:55 +0000 (22:11 -0400)
The ext4_move_extents() functions checks with BUG_ON() whether the
exchanged blocks count accords with request blocks count.  But, if the
target range (orig_start + len) includes sparse block(s), 'moved_len'
(exchanged blocks count) does not agree with 'len' (request blocks
count), since sparse block is not counted in 'moved_len'.  This causes
us to hit the BUG_ON(), even though the function succeeded.

Signed-off-by: Akira Fujita <a-fujita@rs.jp.nec.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

fs/ext4/move_extent.c

index c593eb2..c8c66b1 100644 (file)
@@ -1322,8 +1322,5 @@ out2:
        if (ret)
                return ret;
 
-       /* All of the specified blocks must be exchanged in succeed */
-       BUG_ON(*moved_len != len);
-
        return 0;
 }