ext4: use ext4_data_block_valid() in ext4_free_blocks()
authorTheodore Ts'o <tytso@mit.edu>
Mon, 23 Nov 2009 01:48:42 +0000 (20:48 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 23 Nov 2009 01:48:42 +0000 (20:48 -0500)
The block validity framework does a more comprehensive set of checks,
and it saves object code space to use the ext4_data_block_valid() than
the limited open-coded version that had been in ext4_free_blocks().

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/mballoc.c

index 78de5d3c5dcec19b8a4bc1b64615679c2ed6058f..ab2dad1dfb7e9b984df0f1c9e6109eed752cd3c8 100644 (file)
@@ -4463,9 +4463,7 @@ void ext4_free_blocks(handle_t *handle, struct inode *inode,
 
        sbi = EXT4_SB(sb);
        es = EXT4_SB(sb)->s_es;
-       if (block < le32_to_cpu(es->s_first_data_block) ||
-           block + count < block ||
-           block + count > ext4_blocks_count(es)) {
+       if (!ext4_data_block_valid(sbi, block, count)) {
                ext4_error(sb, __func__,
                            "Freeing blocks not in datazone - "
                            "block = %llu, count = %lu", block, count);