Re: [Jfs-discussion] jfs_fsck stucks
Brought to you by:
blaschke-oss,
shaggyk
From: Marek S. <mar...@gm...> - 2013-06-14 15:42:13
|
... 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 <mar...@gm...> 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 |