+2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
+ superblock instead of the structure size to compute an
+ offset. This fixes the problem that GRUB could not read a
+ filesystem when inode size is different from 128-byte.
+
2007-03-05 Marco Gerards <marco@gnu.org>
* normal/main.c (read_config_file): When "menu" is not set, create
/* Define to the version of this package. */
#undef PACKAGE_VERSION
-/* The size of `long', as computed by sizeof. */
+/* The size of a `long', as computed by sizeof. */
#undef SIZEOF_LONG
-/* The size of `void *', as computed by sizeof. */
+/* The size of a `void *', as computed by sizeof. */
#undef SIZEOF_VOID_P
/* Define it to either start or _start */
if (grub_disk_read (data->disk,
((grub_le_to_cpu32 (blkgrp.inode_table_id) + blkno)
<< LOG2_EXT2_BLOCK_SIZE (data)),
- sizeof (struct grub_ext2_inode) * blkoff,
+ grub_le_to_cpu16 (sblock->inode_size) * blkoff,
sizeof (struct grub_ext2_inode), (char *) inode))
return grub_errno;