... and missing callstack for jfs_fsck tool

#0 bread (vol=0, pxd=..., buf=0x7fe17f08, update=0) at log_map.c:1873
#1 0x00433acc in rXtree (vol=0, dp=, first_leaf=0x7fe17f5c) at log_map.c:1693
#2 0x0043417c in bMapInit (vol=0, dip=0x4fdda0) at log_map.c:416
#3 0x00434564 in initMaps (vol=0) at log_map.c:259
#4 0x0042c670 in openVol (vol=0) at logredo.c:1005
#5 0x0042ef38 in logredoInit () at log_work.c:1831
#6 0x0042cc78 in jfs_logredo (pathname=, fp=, use_2nd_aggSuper=) at
logredo.c:590
#7 0x004275dc in phase0_processing () at xchkdsk.c:1888
#8 0x0042970c in main (argc=, argv=) at xchkdsk.c:333

(gdb) p pxd
$12 = {len = 1, addr1 = 0, addr2 = 0}

On Fri, Jun 14, 2013 at 5:34 PM, Marek Skuczynski <[email protected]> wrote:
> Hi,
>   I have a problem, which very similar in symptom to case
>   reported in this post:
>   <http://sourceforge.net/mailarchive/message.php?msg_id=29796419>
>
>  I have a HDD image, on which I have 2 partitions - both JFS.
>
> jfsutils/fsck/jfs_fsck version 1.1.15, Jun 14 2013
> processing started: 6/14/2013 17:29:03
> Using default parameter: -p [xchkdsk.c:3033]
> The current device is:  /dev/mapper/loop1p1 [xchkdsk.c:1527]
> Open(...READ/WRITE EXCLUSIVE...) returned rc = 0 [fsckpfs.c:3233]
> Primary superblock is valid. [fsckmeta.c:1551]
> The type of file system for the device is JFS. [xchkdsk.c:1544]
> Block size in bytes:  4096 [xchkdsk.c:1857]
> Filesystem size in blocks:  526120 [xchkdsk.c:1864]
> **Phase 0 - Replay Journal Log [xchkdsk.c:1871]
> ^C|......
>
> I have added several traces and found that the tool is looping in this
> function rXtree():
>
>         do {
>                 /* read in the leftmost child page */
>                 if (bread(vol, pxd, (void **) &buf_ptr, PB_READ) != 0) {
>                         fsck_send_msg(lrdo_RXTREADLFFAIL);
>                         return (MINOR_ERROR);
>                 }
>
>                 p = (xtpage_t *) buf_ptr;
>                 /* is this page leaf ? */
>                 if (p->header.flag & BT_LEAF)
>                         break;
>                 else {
>                         PXDlength(&pxd, vopen[vol].lbperpage);
>                         PXDaddress(&pxd, addressXAD(&p->xad[XTENTRYSTART]));
>                 }
>         } while (!(p->header.flag & BT_LEAF));
>
> Values passed to bread are: vol: 0, pxd: len: 1, addr1: 0, addr2: 0
>
> The p->header.flag is equal 0 after returning from bread().
>
>
> Any idea how to handle this problem ?
>
> I can provide more details, if needed.
>
> Thank you in advance for your feedback.
>
> M

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Jfs-discussion mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jfs-discussion

Reply via email to