+@@ -67,8 +70,10 @@
+ else if (((char *) de - bh->b_data) + rlen > dir->i_sb->s_blocksize)
+ error_msg = "directory entry across blocks";
+ else if (le32_to_cpu(de->inode) >
+- le32_to_cpu(dir->i_sb->u.ext3_sb.s_es->s_inodes_count))
+- error_msg = "inode out of bounds";
++ le32_to_cpu(dir->i_sb->u.ext3_sb.s_es->s_inodes_count)) {
++ if (de->file_type != 128)
++ error_msg = "inode out of bounds";
++ }
+
+ if (error_msg != NULL)
+ ext3_error (dir->i_sb, function,