xfs
[Top] [All Lists]

Re: kdb help, log recovery problems

To: Sidik Isani <lksi@xxxxxxxxxxxxxxx>
Subject: Re: kdb help, log recovery problems
From: Keith Owens <kaos@xxxxxxx>
Date: Thu, 03 Oct 2002 16:08:56 +1000
Cc: linux-xfs@xxxxxxx
In-reply-to: Your message of "Wed, 02 Oct 2002 19:16:23 -1000." <20021002191623.A8961@xxxxxxxxxxxxxxx>
Sender: linux-xfs-bounce@xxxxxxxxxxx
On Wed, 2 Oct 2002 19:16:23 -1000, 
Sidik Isani <lksi@xxxxxxxxxxxxxxx> wrote:
>  confused by the backtrace.  I read about how kdb sometimes displays
>  too many arguments, but some of the valid arguments don't make
>  sense.  For example, xlog_do_recovery_pass() seems to be given
>  either a 0 or a 1 for the "pass" argument, but the argument in
>  that position has the value from the previous stack level.  Am
>  I not using kdb properly?  I've put a more complete minicom dump
>  at this URL: http://software.cfht.hawaii.edu/minicom.cap

>0xf6b59bec 0xc02030ee xlog_do_recovery_pass+0x3e6 (0xf7cbfed4, 0x36c58, 0x0, 
>0x36220, 0x0)
>                               kernel .text 0xc0100000 0xc0202d08 0xc0203898

xlog_do_recovery_pass(xlog_t    *log,
                      xfs_daddr_t       head_blk,
                      xfs_daddr_t       tail_blk,
                      int       pass)

head_blk and tail_blk are defined as xfs_daddr_t, 64 bit values (long
long on i386) which occupy two words on stack, with the most
significant word coming second.  kdb has no idea about the parameter
types, the backtrace prints _words_.  That trace shows :-

log = 0xf7cbfed4
head_blk = [0,0x36c58]
tail_blk = [0,0x36220]

The default for kdb is to stop after 5 words of parameters, pass is not
being printed.  At the kdb prompt 'set BTARGS 6' then backtrace.


<Prev in Thread] Current Thread [Next in Thread>