2005-01-27 Theodore Ts'o <tytso@mit.edu>
+ * super.c (check_resize_inode): If the resize inode has a zero
+ i_links_count or isn't a regular file, consider the resize
+ inode as invalid, and offer to recreate it.
+
* pass2.c (e2fsck_process_bad_inode): Offer to clear i_file_acl
before checking to see if an invalid inode should be
removed, since otherwise the fast symlink detection code
if (i != EXT2_DIND_BLOCK && inode.i_block[i])
break;
}
- if ((i < EXT2_N_BLOCKS) || !blk ||
+ if ((i < EXT2_N_BLOCKS) || !blk || !inode.i_links_count ||
+ !(inode.i_mode & LINUX_S_IFREG) ||
(blk < fs->super->s_first_data_block ||
blk >= fs->super->s_blocks_count)) {
resize_inode_invalid:
+2005-01-27 Theodore Ts'o <tytso@mit.edu>
+
+ * res_gdt.c (ext2fs_create_resize_inode): Create the resize inode
+ even if s_reserved_gdt_blocks is zero.
+
2005-01-26 Theodore Ts'o <tytso@mit.edu>
* ext2fs.pc.in: Add pkg-config files.
EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS);
sb = fs->super;
- if (!sb->s_reserved_gdt_blocks)
- return 0;
retval = ext2fs_get_mem(2 * fs->blocksize, (void **)&dindir_buf);
if (retval)