bug-grub
[Top][All Lists]
Advanced

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

Reiserfs with non-standard journal...


From: Yury Umanets
Subject: Reiserfs with non-standard journal...
Date: Tue, 27 May 2003 13:58:55 +0400
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4b) Gecko/20030523

Hello Okuji,
This is patch for support reiserfs with non-standard journal. See attachment for details.

--
Yury Umanets



diff -urN --exclude='*CVS*' ./grub.orig/stage2/fsys_reiserfs.c 
./grub/stage2/fsys_reiserfs.c
--- ./grub.orig/stage2/fsys_reiserfs.c  Mon Mar 10 04:15:15 2003
+++ ./grub/stage2/fsys_reiserfs.c       Tue May 27 13:55:11 2003
@@ -77,6 +77,7 @@
 #define REISERFS_MAX_SUPPORTED_VERSION 2
 #define REISERFS_SUPER_MAGIC_STRING "ReIsErFs"
 #define REISER2FS_SUPER_MAGIC_STRING "ReIsEr2Fs"
+#define REISER3FS_SUPER_MAGIC_STRING "ReIsEr3Fs"
 
 #define MAX_HEIGHT 7
 
@@ -576,7 +577,8 @@
       || ! devread (superblock, 0, sizeof (struct reiserfs_super_block), 
                (char *) &super)
       || (substring (REISER2FS_SUPER_MAGIC_STRING, super.s_magic) > 0
-         && substring (REISERFS_SUPER_MAGIC_STRING, super.s_magic) > 0)
+         && substring (REISERFS_SUPER_MAGIC_STRING, super.s_magic) > 0
+         && substring (REISER3FS_SUPER_MAGIC_STRING, super.s_magic) > 0)
       || (/* check that this is not a copy inside the journal log */
          super.s_journal_block * super.s_blocksize
          <= REISERFS_DISK_OFFSET_IN_BYTES))
@@ -589,7 +591,8 @@
        return 0;
 
       if (substring (REISER2FS_SUPER_MAGIC_STRING, super.s_magic) > 0
-         && substring (REISERFS_SUPER_MAGIC_STRING, super.s_magic) > 0)
+         && substring (REISERFS_SUPER_MAGIC_STRING, super.s_magic) > 0
+         && substring (REISER3FS_SUPER_MAGIC_STRING, super.s_magic) > 0)
        {
          /* pre journaling super block ? */
          if (substring (REISERFS_SUPER_MAGIC_STRING, 
@@ -1206,7 +1209,8 @@
   
   *start_sector = 1; /* reserve first sector for stage1 */
   if ((substring (REISERFS_SUPER_MAGIC_STRING, super.s_magic) <= 0
-       || substring (REISER2FS_SUPER_MAGIC_STRING, super.s_magic) <= 0)
+       || substring (REISER2FS_SUPER_MAGIC_STRING, super.s_magic) <= 0
+       || substring (REISER3FS_SUPER_MAGIC_STRING, super.s_magic) <= 0)
       && (/* check that this is not a super block copy inside
           * the journal log */
          super.s_journal_block * super.s_blocksize 

reply via email to

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