]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
2008-06-12 Pavel Roskin <proski@gnu.org>
authorproski <proski@localhost>
Thu, 12 Jun 2008 16:13:21 +0000 (16:13 +0000)
committerproski <proski@localhost>
Thu, 12 Jun 2008 16:13:21 +0000 (16:13 +0000)
* fs/ext2.c (grub_ext2_read_inode): Don't normalize block
number, grub_fshelp_read() does it for us.

ChangeLog
fs/ext2.c

index f830b732a9990bcdbb031605578dfed002d41770..9cc6165480ae8b344387fe462b6ebcbcdb3bdca0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2008-06-12  Pavel Roskin  <proski@gnu.org>
 
+       * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
+       number, grub_fshelp_read() does it for us.
+
        * fs/fshelp.c (grub_fshelp_read): New function.  Implement
        linear disk read with journal translation.
        * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
index 999bd8080b1f6324de06b87e27c0bebd6dad877a..3768a816eb2b156d77c8a982628daa0617ce4884 100644 (file)
--- a/fs/ext2.c
+++ b/fs/ext2.c
@@ -344,9 +344,6 @@ grub_ext2_read_inode (struct grub_ext2_data *data,
 {
   struct grub_ext2_block_group blkgrp;
   struct grub_ext2_sblock *sblock = &data->sblock;
-  int inodes_per_block;
-  
-  unsigned int blkno;
   unsigned int blkoff;
 
   /* It is easier to calculate if the first inode is 0.  */
@@ -358,15 +355,11 @@ grub_ext2_read_inode (struct grub_ext2_data *data,
   if (grub_errno)
     return grub_errno;
 
-  inodes_per_block = EXT2_BLOCK_SIZE (data) / EXT2_INODE_SIZE (data);
-  blkno = (ino % grub_le_to_cpu32 (sblock->inodes_per_group))
-    / inodes_per_block;
-  blkoff = (ino % grub_le_to_cpu32 (sblock->inodes_per_group))
-    % inodes_per_block;
-  
+  blkoff = ino % grub_le_to_cpu32 (sblock->inodes_per_group);
+
   /* Read the inode.  */
   if (grub_fshelp_read (data->disk, data->journal,
-                       grub_le_to_cpu32 (blkgrp.inode_table_id) + blkno,
+                       grub_le_to_cpu32 (blkgrp.inode_table_id),
                        EXT2_INODE_SIZE (data) * blkoff,
                        sizeof (struct grub_ext2_inode), (char *) inode,
                        LOG2_EXT2_BLOCK_SIZE (data)))