hfs: fix return value of hfs_get_block()
[linux-2.6-block.git] / fs / hfs / extent.c
index 0c638c61215262b7a9d760009fe55cfe6ff2f433..5f1ff97a3b987f0a95033777834046ee82803f88 100644 (file)
@@ -345,7 +345,9 @@ int hfs_get_block(struct inode *inode, sector_t block,
        ablock = (u32)block / HFS_SB(sb)->fs_div;
 
        if (block >= HFS_I(inode)->fs_blocks) {
-               if (block > HFS_I(inode)->fs_blocks || !create)
+               if (!create)
+                       return 0;
+               if (block > HFS_I(inode)->fs_blocks)
                        return -EIO;
                if (ablock >= HFS_I(inode)->alloc_blocks) {
                        res = hfs_extend_file(inode);