Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Jan 2012 21:47:29 +0100
From:      "Julian H. Stacey" <jhs@berklix.com>
To:        Kirk McKusick <mckusick@mckusick.com>
Cc:        fs@freebsd.org
Subject:   Re: unexpected soft update inconsistency - cannot fix 
Message-ID:  <201201112047.q0BKlTW8042343@fire.js.berklix.net>
In-Reply-To: Your message "Tue, 10 Jan 2012 14:21:08 PST." <201201102221.q0AML8MX012837@chez.mckusick.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Kirk cc fs@, 

OK, it all worked as you said, Thanks for the explanations ! 
Maybe if I or others get some time it'd be worth tweaking the code:
- It's suprising ".." has to be 2nd entry & fsck/fsdb can't find it later.
- fsck &/or fsdb dont have to just give up on no parent inode,
  they could search down from root looking for a prent inode listing
  the damaged child inode, like I did with find, (Possibly first
  stab might be some nasty system("...") cludges to a printf as a
  hint to user).
I'll save this mail thread in my personal tree in case 
I get time to hack code :-)

Detail of the repair:
	cd /mnt/ftp/.backup/pri/FreeBSD/development/FreeBSD-CVS/ports/net/\
		keepalived/Attic
	ls -fa
		./  Makefile,v  distinfo,v  pkg-descr,v pkg-plist,v
	mv Makefile,v Makefile,v.sav
	ls -fa
		./  distinfo,v  pkg-descr,v pkg-plist,v Makefile,v.sav
	umount mnt
	fsdb -r /dev/ad4s4g	# just looking 
	inode 825575
		current inode: directory
		I=825575 MODE=40755 SIZE=512
		        BTIME=Dec 29 20:09:19 2011 [0 nsec]
		        MTIME=Jan 11 08:57:58 2012 [0 nsec]
		        CTIME=Jan 11 08:57:58 2012 [0 nsec]
		        ATIME=Jan 11 08:58:14 2012 [0 nsec]
		OWNER=mailnull GRP=mailnull LINKCNT=2 FLAGS=0 BLKCNT=4 \
			GEN=29c28025
	fsdb (inum: 825575)> ls
		slot 0 ino 825575 reclen 40: directory, `.'
		slot 1 ino 825581 reclen 20: regular, `distinfo,v'
		slot 2 ino 825582 reclen 20: regular, `pkg-descr,v'
		slot 3 ino 825583 reclen 20: regular, `pkg-plist,v'
		slot 4 ino 825580 reclen 412: regular, `Makefile,v.sav'
	^D			# end of looking
	fsck /dev/ad4s4g
		** /dev/ad4s4g
		** Last Mounted on /mnt
		** Phase 1 - Check Blocks and Sizes
		** Phase 2 - Check Pathnames
		MISSING '..'  I=825575  OWNER=mailnull MODE=40755
		SIZE=512 MTIME=Jan 11 08:57 2012 
		DIR=/ftp/.backup/pri/FreeBSD/development/FreeBSD-CVS/ports/\
			net/keepalived/Attic
		FIX? [yn] y
		** Phase 3 - Check Connectivity
		** Phase 4 - Check Reference Counts
		LINK COUNT DIR I=79302719  OWNER=mailnull MODE=40755
		SIZE=512 MTIME=Dec 29 20:09 2011  COUNT 3 SHOULD BE 4
		ADJUST? [yn] y
		** Phase 5 - Check Cyl groups
		1360879 files, 126366566 used, 180989615 free (1437463 frags, \
			 22444019 blocks, 0.5% fragmentation)
		***** FILE SYSTEM IS CLEAN *****
		***** FILE SYSTEM WAS MODIFIED *****
	fsck /dev/ad4s4g	# No errs .. FILE SYSTEM IS CLEAN
	mount -t ufs /dev/ad4s4g  /mnt
	cd /mnt/ftp/.backup/pri/FreeBSD/development/FreeBSD-CVS/ports/net/\
		keepalived/Attic
	mv Makefile,v.sav Makefile,v

Cheers,
Julian
-- 
Julian Stacey, BSD Unix Linux C Sys Eng Consultants Munich http://berklix.com
 Reply below not above, cumulative like a play script, & indent with "> ".
 Format: Plain text. Not HTML, multipart/alternative, base64, quoted-printable.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201201112047.q0BKlTW8042343>