From owner-freebsd-fs@freebsd.org Wed Jan 11 21:50:10 2012 Message-Id: <201201112047.q0BKlTW8042343@fire.js.berklix.net> To: Kirk McKusick From: "Julian H. Stacey" Organization: http://www.berklix.com BSD Unix Linux Consultancy, Munich Germany User-agent: EXMH on FreeBSD http://www.berklix.com/free/ X-URL: http://www.berklix.com In-reply-to: Your message "Tue, 10 Jan 2012 14:21:08 PST." <201201102221.q0AML8MX012837@chez.mckusick.com> Date: Wed, 11 Jan 2012 21:47:29 +0100 Cc: fs@freebsd.org Subject: Re: unexpected soft update inconsistency - cannot fix X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Archive: List-Post: List-Help: List-Subscribe: , Sender: owner-freebsd-fs@freebsd.org Errors-To: owner-freebsd-fs@freebsd.org 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 H. Stacey, BSD Unix Linux C Sys Eng Consultants Munich http://www.berklix.com Reply below not above, cumulative like a play script, & indent with "> ". Format: Plain text. Not HTML, multipart/alternative, base64, quoted-printable. _______________________________________________ freebsd-fs@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-fs To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org"