bug-grub
[Top][All Lists]
Advanced

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

Maybe a bug in fsys_reiserfs.c, GRUB 0.93


From: DervishD
Subject: Maybe a bug in fsys_reiserfs.c, GRUB 0.93
Date: Wed, 14 Jan 2004 17:42:47 +0100
User-agent: Mutt/1.4i
User-agent: Mutt/1.4i <http://www.mutt.org>

    Hi all :))

    In file stage2/fsys_reiserfs.c, line 109, GRUB version 0.93, you
can read:

struct reiserfs_journal_header {
  /* id of last fully flushed transaction */
  __u32 j_last_flush_trans_id;
  /* offset in the log of where to start replay after a crash */
  __u32 j_first_unflushed_offset;
  /* mount id to detect very old transactions */
  __u32 long j_mount_id;
};

    That 'long' in the j_mount_id member of the struct makes GCC 3.3
barf. Don't know if prior versions accept that, but 3.3 doesn't. In
the linux kernel 2.4.21 headers you can read:

struct reiserfs_journal_header {
  __u32 j_last_flush_trans_id ;         /* id of last fully flushed transaction 
*/
  __u32 j_first_unflushed_offset ;      /* offset in the log of where to start 
replay after a crash */
  __u32 j_mount_id ;
} ;

    As you can see, the 'long' is gone from that. Without it, the
code compiles OK ;) That's because you cannot declare 'unsigned int
long' but 'unsigned long int' variables.

     I haven't been able to notify this bug through bugcomm.enbug.org
because it is moving, sorry...

    Bye, and thanks a lot for GRUB :))

    Raúl Núñez de Arenas Coronado

-- 
Linux Registered User 88736
http://www.pleyades.net & http://raul.pleyades.net/




reply via email to

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