commit-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[2497] 2009-08-14 Vladimir Serbinenko <address@hidden>


From: Vladimir Serbinenko
Subject: [2497] 2009-08-14 Vladimir Serbinenko <address@hidden>
Date: Fri, 14 Aug 2009 13:42:03 +0000

Revision: 2497
          http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=2497
Author:   phcoder
Date:     2009-08-14 13:42:03 +0000 (Fri, 14 Aug 2009)
Log Message:
-----------
2009-08-14  Vladimir Serbinenko  <address@hidden>

        Handle group offset on UFS1.

        * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
        (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.

Modified Paths:
--------------
    trunk/grub2/ChangeLog
    trunk/grub2/fs/ufs.c

Modified: trunk/grub2/ChangeLog
===================================================================
--- trunk/grub2/ChangeLog       2009-08-14 13:32:09 UTC (rev 2496)
+++ trunk/grub2/ChangeLog       2009-08-14 13:42:03 UTC (rev 2497)
@@ -1,5 +1,12 @@
 2009-08-14  Vladimir Serbinenko  <address@hidden>
 
+       Handle group offset on UFS1.
+
+       * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
+       (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
+
+2009-08-14  Vladimir Serbinenko  <address@hidden>
+
        Split ufs.mod into ufs1.mod and ufs2.mod.
 
        * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.

Modified: trunk/grub2/fs/ufs.c
===================================================================
--- trunk/grub2/fs/ufs.c        2009-08-14 13:32:09 UTC (rev 2496)
+++ trunk/grub2/fs/ufs.c        2009-08-14 13:42:03 UTC (rev 2497)
@@ -88,7 +88,7 @@
 
   /* The start of the cylinder group.  */
   grub_uint32_t cylg_offset;
-  grub_uint8_t unused3[4];
+  grub_uint32_t cylg_mask;
 
   grub_uint32_t mtime;
   grub_uint8_t unused4[12];
@@ -360,6 +360,11 @@
   /* The first block of the group.  */
   int grpblk = group * (grub_le_to_cpu32 (sblock->frags_per_group));
 
+#ifndef MODE_UFS2
+  grpblk += grub_le_to_cpu32 (sblock->cylg_offset)
+    * (group & (~grub_le_to_cpu32 (sblock->cylg_mask)));
+#endif
+
   if (!inode)
     {
       inode = (char *) &data->inode;





reply via email to

[Prev in Thread] Current Thread [Next in Thread]