ext4: Check for the correct error return from
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Tue, 29 Jan 2008 04:58:27 +0000 (23:58 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 29 Jan 2008 04:58:27 +0000 (23:58 -0500)
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>
fs/ext4/extents.c

index 754c0d36d1624cd0726256131849748d01be5076..8593e59020fec82273247a5a4aa51c643d4dbec5 100644 (file)
@@ -2462,12 +2462,12 @@ retry:
                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);