I'm not quite sure why fsck is failing here, but this patch may give me
a little more info, and should also let fsck make some further progress
(or I could be mistaken and the patch won't make any difference).  Can
you give it a try?

Thanks,
Shaggy

On Mon, 2006-01-23 at 14:23 -0700, Brent Kearney wrote:
> Hi again,
> 
> I forgot to mention that its jfs version 1.1.10.
> 
> Best,
> Brent
> 
> On Jan 23, 2006, at 14:04, Brent Kearney wrote:
> 
> > Hello,
> >
> > I'm running linux 2.6.14-gentoo-r4 and the system power got  
> > yanked.  JFS is is on the / filesystem, which is also an md device,  
> > raid0.  The fsck'ing eventually comes to an "exit code 8" error.   
> > What do I do from here?  I seem to be able to read the files on  
> > this filesytem, but I cannot boot in the current state.  There must  
> > be a way to fix this, but it appears that fsck doesn't know how to.
> >
> > The details follow, transcripted from my PC's monitor:
> >
> > On boot-up, the system loads normally until the filesystem check,  
> > then encounters these problems:
> >
> > Current device: /dev/md2
> > Filesystem size in blocks: 17253760
> > **Phase 0 - Replay Journal Log
> > logredo failed (rc=-245). fsck continuing.
> > **Phase 1 - Check Blocks, Files/Directories, and Directory Entries
> > **Phase 2 - Count links
> > Incorrect link counts have been detected.  Will correct.
> > **Phase 3 - Duplicate block Rescan and Directory Connectedness
> >  * Filesystem couldn't be fixed :(
> >
> > Then I had the option of logging in as root, and I ran: jfs_fsck -a  
> > -v /dev/md/2:
> >
> > Open(...READ/WRITE EXCLUDSIVE...) returned rc = 0
> > Primary superblock is valid.
> > The type of file system for the device is JFS.
> > Block size in bytes:  4096
> > filesystem size in blocks: 17253760
> > **Phase 0 - Replay Journal Log
> > LOGREDO:  allocating for ReDoPage:  (d) 4096 bytes
> > "  "
> > ... about 20 of these lines
> > LOGREDO:  Address (0x01ffffff8) of next log record is out of range.
> > logredo failed (rc=-245) fsck continuing.
> >
> > **Phase 1 - Check Blocks, Files/Directories, and Directory Entries
> > Duplicate reference to 10 block(s) beginning at offset 8411388  
> > found in file system object FF1019921.
> > Inode F1019921 has references to cross linked blocks.
> > Filesystem object FF1019921 has corrupt data (39).
> >
> > **Phase 2 - Count links
> > Inode F41233 has incorrect link count.
> > Incorrect link counts have been detected.  Will correct.
> > **Phase 3 - Duplicate block Rescan and Directory Connectedness
> > processing terminated:  1/23/2006 5:54:17  with return code: 10081   
> > exit code: 8.
> >
> > ------
> >
> > Any help would be greatly appreciated!
> >
> > Brent
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > -------------------------------------------------------
> > This SF.net email is sponsored by: Splunk Inc. Do you grep through  
> > log files
> > for problems?  Stop!  Download the new AJAX search engine that makes
> > searching your log files as easy as surfing the  web.  DOWNLOAD  
> > SPLUNK!
> > http://sel.as-us.falkag.net/sel? 
> > cmd=lnk&kid=103432&bid=230486&dat=121642
> > _______________________________________________
> > Jfs-discussion mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/jfs-discussion
> 
> 
> 
> -------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
> for problems?  Stop!  Download the new AJAX search engine that makes
> searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
> _______________________________________________
> Jfs-discussion mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/jfs-discussion
> 
-- 
David Kleikamp
IBM Linux Technology Center
Index: fsck/fsckxtre.c
===================================================================
RCS file: /cvsroot/jfs/jfsutils/fsck/fsckxtre.c,v
retrieving revision 1.17
diff -u -p -r1.17 fsckxtre.c
--- fsck/fsckxtre.c	11 Jan 2006 18:12:45 -0000	1.17
+++ fsck/fsckxtre.c	24 Jan 2006 16:07:09 -0000
@@ -326,6 +326,12 @@ int process_valid_data(struct dinode *in
 		}
 	}
       out:
+	if (pvd_rc) {
+		printf("=== process_valid_data ignorning return code of %d\n",
+		       pvd_rc);
+		printf("=== inum = %d\n", inoidx);
+		pvd_rc = 0;
+	}
 	return (pvd_rc);
 }
 

Reply via email to