ext4: Check for the correct error return from

ext4_ext_get_blocks returns negative values on error. We should
check for  <= 0

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
This commit is contained in:
Aneesh Kumar K.V 2008-01-28 23:58:27 -05:00 committed by Theodore Ts'o
parent f5a7a6b0d9
commit 221879c927

View File

@ -2462,12 +2462,12 @@ long ext4_fallocate(struct inode *inode, int mode, loff_t offset, loff_t len)
ret = ext4_ext_get_blocks(handle, inode, block,
max_blocks, &map_bh,
EXT4_CREATE_UNINITIALIZED_EXT, 0);
WARN_ON(!ret);
if (!ret) {
WARN_ON(ret <= 0);
if (ret <= 0) {
ext4_error(inode->i_sb, "ext4_fallocate",
"ext4_ext_get_blocks returned 0! inode#%lu"
", block=%u, max_blocks=%lu",
inode->i_ino, block, max_blocks);
"ext4_ext_get_blocks returned error: "
"inode#%lu, block=%u, max_blocks=%lu",
inode->i_ino, block, max_blocks);
ret = -EIO;
ext4_mark_inode_dirty(handle, inode);
ret2 = ext4_journal_stop(handle);