NetBSD Problem Report #29151

From pavel.cahyna@st.mff.cuni.cz  Fri Jan 28 22:27:12 2005
Return-Path: <pavel.cahyna@st.mff.cuni.cz>
Received: from mail.casablanca.cz (mail.casablanca.cz [82.208.31.182])
	by narn.netbsd.org (Postfix) with ESMTP id 1F38463B844
	for <gnats-bugs@gnats.netbsd.org>; Fri, 28 Jan 2005 22:27:12 +0000 (UTC)
Message-Id: <1106951772.0@pc.martani.n2.repy.czf>
Date: Fri, 28 Jan 2005 22:36:12 -0000
From: "Pavel Cahyna" <pavel.cahyna@st.mff.cuni.cz>
To: "gnats bugs" <gnats-bugs@netbsd.org>
Subject: fsck_lfs dumps core with assertion "bp->b_count == size"
X-Send-Pr-Version: gtk-send-pr 0.4 
X-GNATS-Notify:

>Number:         29151
>Category:       bin
>Synopsis:       fsck_lfs dumps core with assertion "bp->b_count == size"
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    bin-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jan 28 22:28:00 +0000 2005
>Closed-Date:    
>Last-Modified:  Tue Apr 14 20:48:07 +0000 2009
>Originator:     Pavel Cahyna
>Release:        NetBSD 2.0_BETA i386
>Organization:
>Environment:


System: NetBSD 2.0_BETA (GENERIC_DIAGNOSTIC s patchem D. Reeda - PR#26839) #4: Wed Oct  6 10:13:10 CEST 2004
	pavel@pc.martani.n2.repy.czf:/mnt/obj/kompilace/jadra/compile/GENERIC_DIAGNOSTIC



>Description:


Today when browsing with mozilla (which have its cache on a LFS filesystem) the system got frozen.
X were completely dead, the machine answered pings but no ssh connectin to it was possible. Sometimes
I could hear some disk activity, but not constantly. After some time, I reset it. Then fsck complained:

fsck_lfs: Partial segment at 0x501800 data checksum mismatch: given 0xc45f, computed 0xf9d9

** /dev/rsd2h
** Last Mounted on 
** Phase 0 - Check Segment Summaries and Inode Free List
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Segment Block Accounting
** Phase 6 - Roll Forward

roll forward? [yn] 
** Phase 6b - Recheck Segment Block Accounting
avail given as 3083864, should be 3085912

fix? [yn] 
211225 files, 3741108 used, 3310559 free

WRITE CHANGES TO DISK? [yn] assertion "bp->b_bcount == size" failed: file "/autobuild/netbsd-2-0/src/sbin/fsck_lfs/bufcache.c", line 184, function "getblk"

WRITING CHANGES TO DISK
fsck: /dev/rsd2h: Abort trap

# gdb /sbin/fsck_lfs /fsck_lfs.core
GNU gdb 5.3nb1
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386--netbsdelf"...(no debugging symbols found)...
Core was generated by `fsck_lfs'.
Program terminated with signal 6, Aborted.

warning: current_sos: Can't read pathname for load map: Input/output error

Reading symbols from /lib/libc.so.12...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.12
#0  0x48089fab in kill () from /lib/libc.so.12
(gdb) where
#0  0x48089fab in kill () from /lib/libc.so.12
#1  0x480fea87 in abort () from /lib/libc.so.12
#2  0x480d1356 in __assert13 () from /lib/libc.so.12
#3  0x08049467 in getblk ()
#4  0x08054053 in lfs_writeinode ()
#5  0x08055c82 in lfs_writevnodes ()
#6  0x08053d9b in lfs_segwrite ()
#7  0x08056d88 in ckfini ()
#8  0x0804e024 in checkfilesys ()
#9  0x0804de52 in main ()
#10 0x08048fc2 in ___start ()



>How-To-Repeat:


unknown. The filesystem image and the core dump can be provided.


>Fix:


unknown.


>Release-Note:

>Audit-Trail:

Responsible-Changed-From-To: bin-bug-people->perseant
Responsible-Changed-By: perseant@netbsd.org
Responsible-Changed-When: Wed, 06 Apr 2005 02:42:56 +0000
Responsible-Changed-Why:
Fixed the bug.


State-Changed-From-To: open->feedback
State-Changed-By: perseant@netbsd.org
State-Changed-When: Wed, 06 Apr 2005 02:42:56 +0000
State-Changed-Why:
I think this is fixed by rev 1.5 of bufcache.c ... if by chance you still
have the filesystem image it would be worth finding out if it in fact
fixes your bug.  Note too that I have not yet packaged this up for the
netbsd-2 branch.


From: Matthias Scheler <tron@netbsd.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: PR/29151 CVS commit: [netbsd-3] src
Date: Sat,  7 May 2005 11:21:30 +0000 (UTC)

 Module Name:	src
 Committed By:	tron
 Date:		Sat May  7 11:21:30 UTC 2005

 Modified Files:
 	src/distrib/sets/lists/base [netbsd-3]: mi
 	src/distrib/sets/lists/man [netbsd-3]: mi
 	src/libexec/lfs_cleanerd [netbsd-3]: cleanerd.c library.c
 	src/sbin [netbsd-3]: Makefile
 	src/sbin/fsck_lfs [netbsd-3]: bufcache.c bufcache.h fsck.h fsck_lfs.8
 	    fsck_vars.h inode.c lfs.c lfs.h main.c pass0.c pass2.c pass5.c
 	    pass6.c segwrite.c setup.c vars.c vnode.c vnode.h
 	src/sbin/newfs_lfs [netbsd-3]: make_lfs.c newfs.c
 	src/sys/ufs/lfs [netbsd-3]: TODO lfs.h lfs_alloc.c lfs_balloc.c
 	    lfs_bio.c lfs_debug.c lfs_extern.h lfs_inode.c lfs_segment.c
 	    lfs_subr.c lfs_syscalls.c lfs_vfsops.c lfs_vnops.c
 	src/sys/ufs/ufs [netbsd-3]: ufs_readwrite.c
 	src/usr.sbin/mountd [netbsd-3]: mountd.c

 Log Message:
 Apply patch (requested by perseant in ticket #242):
 * fsck_lfs buffer cache fixes, including PR #29151
 * Change fsck_lfs phase 0 message to reflect reality
 * fsck_lfs: check phase 5 (cleanerinfo accounting) even on
   roll-forward
 * Keep better track of the free list during roll-forward, avoiding
   a core dump
 * Improve hash table use for fsck_lfs buffer and vnode cache
 * Document fsck_lfs flag -f, and implement -q
 * Add resize_lfs, including kernel support
 * Add LFS to mountd's list of exportable filesystem types
 * Make the LFS lkm work again [christos@]
 * Add MP locking to the LFS kernel subsystem
 * Fix pager_map deadlock in lfs_putpages()
 * Avoid incomplete file extension that looks like "partial
   truncation" to fsck
 * Use lfs_malloc for cleaner malloc, since the cleaner often runs
   in low-memory conditions.
 * Use splay trees, not hash table, to track page allocation for
   write.
 * Fix mkdir panic on full fs
 * Fix page accounting leak by counting differently.
 * Use rightly named structure for lfs_getattr [skrll@]
 * Cosmetic changes for readability.


 To generate a diff of this commit:
 cvs rdiff -r1.532.2.13 -r1.532.2.14 src/distrib/sets/lists/base/mi
 cvs rdiff -r1.768.2.8 -r1.768.2.9 src/distrib/sets/lists/man/mi
 cvs rdiff -r1.52.2.1 -r1.52.2.2 src/libexec/lfs_cleanerd/cleanerd.c
 cvs rdiff -r1.41 -r1.41.2.1 src/libexec/lfs_cleanerd/library.c
 cvs rdiff -r1.91 -r1.91.2.1 src/sbin/Makefile
 cvs rdiff -r1.3 -r1.3.2.1 src/sbin/fsck_lfs/bufcache.c \
     src/sbin/fsck_lfs/bufcache.h src/sbin/fsck_lfs/lfs.h
 cvs rdiff -r1.13 -r1.13.2.1 src/sbin/fsck_lfs/fsck.h
 cvs rdiff -r1.17 -r1.17.2.1 src/sbin/fsck_lfs/fsck_lfs.8
 cvs rdiff -r1.8 -r1.8.6.1 src/sbin/fsck_lfs/fsck_vars.h \
     src/sbin/fsck_lfs/vars.c
 cvs rdiff -r1.25 -r1.25.2.1 src/sbin/fsck_lfs/inode.c
 cvs rdiff -r1.8 -r1.8.2.1 src/sbin/fsck_lfs/lfs.c
 cvs rdiff -r1.20 -r1.20.2.1 src/sbin/fsck_lfs/main.c
 cvs rdiff -r1.18 -r1.18.2.1 src/sbin/fsck_lfs/pass0.c
 cvs rdiff -r1.12 -r1.12.2.1 src/sbin/fsck_lfs/pass2.c
 cvs rdiff -r1.14 -r1.14.2.1 src/sbin/fsck_lfs/pass5.c
 cvs rdiff -r1.3 -r1.3.6.1 src/sbin/fsck_lfs/pass6.c
 cvs rdiff -r1.7 -r1.7.2.1 src/sbin/fsck_lfs/segwrite.c
 cvs rdiff -r1.19 -r1.19.2.1 src/sbin/fsck_lfs/setup.c
 cvs rdiff -r1.2 -r1.2.6.1 src/sbin/fsck_lfs/vnode.c
 cvs rdiff -r1.1 -r1.1.6.1 src/sbin/fsck_lfs/vnode.h
 cvs rdiff -r1.1 -r1.1.2.1 src/sbin/newfs_lfs/make_lfs.c
 cvs rdiff -r1.15 -r1.15.2.1 src/sbin/newfs_lfs/newfs.c
 cvs rdiff -r1.8 -r1.8.2.1 src/sys/ufs/lfs/TODO
 cvs rdiff -r1.77 -r1.77.2.1 src/sys/ufs/lfs/lfs.h
 cvs rdiff -r1.76.2.1 -r1.76.2.2 src/sys/ufs/lfs/lfs_alloc.c
 cvs rdiff -r1.51 -r1.51.2.1 src/sys/ufs/lfs/lfs_balloc.c
 cvs rdiff -r1.81 -r1.81.2.1 src/sys/ufs/lfs/lfs_bio.c
 cvs rdiff -r1.27 -r1.27.2.1 src/sys/ufs/lfs/lfs_debug.c
 cvs rdiff -r1.64 -r1.64.2.1 src/sys/ufs/lfs/lfs_extern.h
 cvs rdiff -r1.90 -r1.90.2.1 src/sys/ufs/lfs/lfs_inode.c
 cvs rdiff -r1.158 -r1.158.2.1 src/sys/ufs/lfs/lfs_segment.c
 cvs rdiff -r1.50 -r1.50.2.1 src/sys/ufs/lfs/lfs_subr.c
 cvs rdiff -r1.103 -r1.103.2.1 src/sys/ufs/lfs/lfs_syscalls.c
 cvs rdiff -r1.167 -r1.167.2.1 src/sys/ufs/lfs/lfs_vfsops.c
 cvs rdiff -r1.137.2.3 -r1.137.2.4 src/sys/ufs/lfs/lfs_vnops.c
 cvs rdiff -r1.61 -r1.61.2.1 src/sys/ufs/ufs/ufs_readwrite.c
 cvs rdiff -r1.93 -r1.93.2.1 src/usr.sbin/mountd/mountd.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: Hauke Fath <hauke@Espresso.Rhein-Neckar.DE>
To: gnats-bugs@NetBSD.org
Cc: Matthias Scheler <tron@NetBSD.org>, perseant@NetBSD.org,
	gnats-admin@NetBSD.org
Subject: Re: PR/29151 CVS commit: [netbsd-3] src
Date: Sat, 7 May 2005 14:28:32 +0200

 At 11:22 Uhr +0000 7.5.2005, Matthias Scheler wrote:
 > Modified Files:
 > 	src/distrib/sets/lists/base [netbsd-3]: mi
 > 	src/distrib/sets/lists/man [netbsd-3]: mi
 > 	src/libexec/lfs_cleanerd [netbsd-3]: cleanerd.c library.c
 > 	src/sbin [netbsd-3]: Makefile
 > 	src/sbin/fsck_lfs [netbsd-3]: bufcache.c bufcache.h fsck.h fsck_lfs.8
 > 	    fsck_vars.h inode.c lfs.c lfs.h main.c pass0.c pass2.c pass5.c
 > 	    pass6.c segwrite.c setup.c vars.c vnode.c vnode.h
 > 	src/sbin/newfs_lfs [netbsd-3]: make_lfs.c newfs.c
 > 	src/sys/ufs/lfs [netbsd-3]: TODO lfs.h lfs_alloc.c lfs_balloc.c
 > 	    lfs_bio.c lfs_debug.c lfs_extern.h lfs_inode.c lfs_segment.c
 > 	    lfs_subr.c lfs_syscalls.c lfs_vfsops.c lfs_vnops.c
 > 	src/sys/ufs/ufs [netbsd-3]: ufs_readwrite.c
 > 	src/usr.sbin/mountd [netbsd-3]: mountd.c

 That's an impressive list - thanks for the work!

 Can you add an entry in doc/CHANGES-30, please?

 	hauke

 --
 /~\  The ASCII Ribbon Campaign
 \ /    No HTML/RTF in email
  X     No Word docs in email
 / \  Respect for open standards


From: Matthias Scheler <tron@NetBSD.org>
To: Hauke Fath <hauke@Espresso.Rhein-Neckar.DE>
Cc: NetBSD GNATS <gnats-bugs@netbsd.org>,
	Konrad Schroder <perseant@NetBSD.org>
Subject: Re: PR/29151 CVS commit: [netbsd-3] src
Date: Sat, 7 May 2005 13:59:34 +0100

 On Sat, May 07, 2005 at 02:28:32PM +0200, Hauke Fath wrote:
 > At 11:22 Uhr +0000 7.5.2005, Matthias Scheler wrote:
 > > Modified Files:
 > > 	src/distrib/sets/lists/base [netbsd-3]: mi
 > > 	src/distrib/sets/lists/man [netbsd-3]: mi
 > > 	src/libexec/lfs_cleanerd [netbsd-3]: cleanerd.c library.c
 > > 	src/sbin [netbsd-3]: Makefile
 > > 	src/sbin/fsck_lfs [netbsd-3]: bufcache.c bufcache.h fsck.h fsck_lfs.8
 > > 	    fsck_vars.h inode.c lfs.c lfs.h main.c pass0.c pass2.c pass5.c
 > > 	    pass6.c segwrite.c setup.c vars.c vnode.c vnode.h
 > > 	src/sbin/newfs_lfs [netbsd-3]: make_lfs.c newfs.c
 > > 	src/sys/ufs/lfs [netbsd-3]: TODO lfs.h lfs_alloc.c lfs_balloc.c
 > > 	    lfs_bio.c lfs_debug.c lfs_extern.h lfs_inode.c lfs_segment.c
 > > 	    lfs_subr.c lfs_syscalls.c lfs_vfsops.c lfs_vnops.c
 > > 	src/sys/ufs/ufs [netbsd-3]: ufs_readwrite.c
 > > 	src/usr.sbin/mountd [netbsd-3]: mountd.c
 > 
 > That's an impressive list - thanks for the work!
 > 
 > Can you add an entry in doc/CHANGES-30, please?

 I've already committed one:

 	Module Name:	src
 	Committed By:	tron
 	Date:		Sat May  7 11:56:01 UTC 2005

 	Modified Files:
 		src/doc [netbsd-3]: CHANGES-3.0

 	Log Message:
 	Tickets 242, 245 to 249, 252, 253 and 255 to 258.


 	To generate a diff of this commit:
 	cvs rdiff -r1.1.2.78 -r1.1.2.79 src/doc/CHANGES-3.0

 Here is contents:

 distrib/sets/lists/base/mi			1.549
 distrib/sets/lists/man/mi			1.781
 libexec/lfs_cleanerd/cleanerd.c			1.54
 libexec/lfs_cleanerd/library.c			1.42
 sbin/Makefile					1.92
 sbin/fsck_lfs/bufcache.c			1.4-1.6
 sbin/fsck_lfs/bufcache.h			1.4
 sbin/fsck_lfs/fsck.h				1.14
 sbin/fsck_lfs/fsck_lfs.8			1.18-1.20
 sbin/fsck_lfs/fsck_vars.h			1.9
 sbin/fsck_lfs/inode.c				1.26
 sbin/fsck_lfs/lfs.c				1.9-1.12
 sbin/fsck_lfs/lfs.h				1.4-1.5
 sbin/fsck_lfs/main.c				1.21-1.24
 sbin/fsck_lfs/pass0.c				1.19-1.20
 sbin/fsck_lfs/pass2.c				1.13
 sbin/fsck_lfs/pass5.c				1.15-1.16
 sbin/fsck_lfs/pass6.c				1.4-1.7
 sbin/fsck_lfs/segwrite.c			1.8-1.9
 sbin/fsck_lfs/setup.c				1.20-1.21
 sbin/fsck_lfs/vars.c				1.9
 sbin/fsck_lfs/vnode.c				1.3
 sbin/fsck_lfs/vnode.h				1.2
 sbin/newfs_lfs/make_lfs.c			1.2-1.3
 sbin/newfs_lfs/newfs.c				1.16
 sbin/resize_lfs/Makefile			1.1
 sbin/resize_lfs/resize_lfs.8			1.1-1.2
 sbin/resize_lfs/resize_lfs.c			1.1
 sys/ufs/lfs/TODO				1.9
 sys/ufs/lfs/lfs.h				1.78-1.86
 sys/ufs/lfs/lfs_alloc.c				1.78-1.82
 sys/ufs/lfs/lfs_balloc.c			1.52-1.56
 sys/ufs/lfs/lfs_bio.c				1.82-1.85
 sys/ufs/lfs/lfs_debug.c				1.28-1.29
 sys/ufs/lfs/lfs_debug.c				1.30
 sys/ufs/lfs/lfs_extern.h			1.65-1.67
 sys/ufs/lfs/lfs_inode.c				1.91-1.95
 sys/ufs/lfs/lfs_segment.c			1.159-1.163
 sys/ufs/lfs/lfs_subr.c				1.51-1.52
 sys/ufs/lfs/lfs_syscalls.c			1.104-1.105
 sys/ufs/lfs/lfs_vfsops.c			1.169-1.177
 sys/ufs/lfs/lfs_vnops.c				1.141-1.150
 sys/ufs/ufs/ufs_readwrite.c			1.62-1.63
 usr.sbin/mountd/mountd.c			1.94

 	* fsck_lfs buffer cache fixes, including PR #29151
 	* Change fsck_lfs phase 0 message to reflect reality
 	* fsck_lfs: check phase 5 (cleanerinfo accounting) even on
 	  roll-forward
 	* Keep better track of the free list during roll-forward, avoiding
 	  a core dump
 	* Improve hash table use for fsck_lfs buffer and vnode cache
 	* Document fsck_lfs flag -f, and implement -q
 	* Add resize_lfs, including kernel support
 	* Add LFS to mountd's list of exportable filesystem types
 	* Make the LFS lkm work again [christos@]
 	* Add MP locking to the LFS kernel subsystem
 	* Fix pager_map deadlock in lfs_putpages()
 	* Avoid incomplete file extension that looks like "partial
 	  truncation" to fsck
 	* Use lfs_malloc for cleaner malloc, since the cleaner often runs
 	  in low-memory conditions.
 	* Use splay trees, not hash table, to track page allocation for
 	  write.
 	* Fix mkdir panic on full fs
 	* Fix page accounting leak by counting differently.
 	* Use rightly named structure for lfs_getattr [skrll@]
 	* Cosmetic changes for readability.
 	[perseant, ticket #242]

 	Kind regards

 -- 
 Matthias Scheler                                  http://scheler.de/~matthias/

From: Hauke Fath <hauke@Espresso.Rhein-Neckar.DE>
To: Matthias Scheler <tron@NetBSD.org>
Cc: Hauke Fath <hauke@Espresso.Rhein-Neckar.DE>,
	NetBSD GNATS <gnats-bugs@netbsd.org>,
	Konrad Schroder <perseant@NetBSD.org>
Subject: Re: PR/29151 CVS commit: [netbsd-3] src
Date: Sat, 7 May 2005 16:23:42 +0200

 At 13:59 Uhr +0100 7.5.2005, Matthias Scheler wrote:
 >> Can you add an entry in doc/CHANGES-30, please?
 >
 >I've already committed one:

 Just came in now on anoncvs. Sorry for being impatient.

 	hauke

 --
 /~\  The ASCII Ribbon Campaign
 \ /    No HTML/RTF in email
  X     No Word docs in email
 / \  Respect for open standards


From: Matthias Scheler <tron@netbsd.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: PR/29151 CVS commit: [netbsd-3] src/sbin/resize_lfs
Date: Sat,  7 May 2005 15:18:05 +0000 (UTC)

 Module Name:	src
 Committed By:	tron
 Date:		Sat May  7 15:18:05 UTC 2005

 Added Files:
 	src/sbin/resize_lfs [netbsd-3]: Makefile resize_lfs.8 resize_lfs.c

 Log Message:
 Apply patch (requested by perseant in ticket #242):
 * fsck_lfs buffer cache fixes, including PR #29151
 * Change fsck_lfs phase 0 message to reflect reality
 * fsck_lfs: check phase 5 (cleanerinfo accounting) even on
   roll-forward
 * Keep better track of the free list during roll-forward, avoiding
   a core dump
 * Improve hash table use for fsck_lfs buffer and vnode cache
 * Document fsck_lfs flag -f, and implement -q
 * Add resize_lfs, including kernel support
 * Add LFS to mountd's list of exportable filesystem types
 * Make the LFS lkm work again [christos@]
 * Add MP locking to the LFS kernel subsystem
 * Fix pager_map deadlock in lfs_putpages()
 * Avoid incomplete file extension that looks like "partial
   truncation" to fsck
 * Use lfs_malloc for cleaner malloc, since the cleaner often runs
   in low-memory conditions.
 * Use splay trees, not hash table, to track page allocation for
   write.
 * Fix mkdir panic on full fs
 * Fix page accounting leak by counting differently.
 * Use rightly named structure for lfs_getattr [skrll@]
 * Cosmetic changes for readability.


 To generate a diff of this commit:
 cvs rdiff -r0 -r1.1.2.1 src/sbin/resize_lfs/Makefile \
     src/sbin/resize_lfs/resize_lfs.c
 cvs rdiff -r0 -r1.2.2.1 src/sbin/resize_lfs/resize_lfs.8

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: feedback->closed
State-Changed-By: perseant@netbsd.org
State-Changed-When: Fri, 20 May 2005 07:31:13 +0000
State-Changed-Why:
Submitter reports problem fixed when the relevant revisions are applied.
These revisions will be released with NetBSD 3.0.


From: Pavel Cahyna <pcah8322@artax.karlin.mff.cuni.cz>
To: perseant@netbsd.org
Cc: gnats-bugs@netbsd.org
Subject: Re: bin/29151
Date: Fri, 20 May 2005 10:12:35 +0200

 First of my feedback emails, that I forgot to append to the audit trail:

 > State-Changed-From-To: open->feedback
 > State-Changed-By: perseant@netbsd.org
 > State-Changed-When: Wed, 06 Apr 2005 02:42:56 +0000
 > State-Changed-Why:
 > I think this is fixed by rev 1.5 of bufcache.c ... if by chance you still
 > have the filesystem image it would be worth finding out if it in fact
 > fixes your bug.  Note too that I have not yet packaged this up for the
 > netbsd-2 branch.

 I updated the fsck_lfs sources to latest -current except for this patch:
 ---------------------
 PatchSet 86 
 Date: 2004/04/21 02:05:33
 Author: christos
 Branch: HEAD
 Tag: (none) 
 Log:
 Replace the statfs() family of system calls with statvfs().
 Retain binary compatibility.

 Members: 
         main.c:1.17->1.18 

 ---------------------
 (which would be incompatible with my 2.0 kernel, I guess).

 And it repairs the filesystem without problems. Thanks!

From: Pavel Cahyna <pcah8322@artax.karlin.mff.cuni.cz>
To: perseant@netbsd.org
Cc: gnats-bugs@netbsd.org
Subject: Re: bin/29151
Date: Fri, 20 May 2005 10:15:24 +0200

 And the second. (Of the two feedback emails that I forgot to append to
 the audit trail.)

 Note that hthere are still problems with this version of fsck, so I
 believe the PR should be reopened.
 -----
 > And it repairs the filesystem without problems. Thanks!

 Damn, spoke too early. I ran it on the freshly - repaired filesystem
 again, and it said:

 ./fsck_lfs -yf /dev/rsd1h
 ** /dev/rsd1h
 ** File system is already clean
 ** Last Mounted on 
 ** Phase 0 - Check Inode Free List
 ** Phase 1 - Check Blocks and Sizes
 ** Phase 2 - Check Pathnames
 ** Phase 3 - Check Connectivity
 ** Phase 4 - Check Reference Counts
 ** Phase 5 - Check Segment Block Accounting
 segment 3005 claims 335872 bytes but has 0 (high by 335872)

 fix? yes

 segment 3023 claims 991232 bytes but has 983040 (high by 8192)

 fix? yes

 segment 4297 claims 301440 bytes but has 268672 (high by 32768)

 fix? yes

 segment 4394 claims 270336 bytes but has 0 (high by 270336)

 fix? yes

 segment 4441 claims 294912 bytes but has 253952 (high by 40960)

 fix? yes

 segment 4443 claims 282112 bytes but has 273920 (high by 8192)

 fix? yes

 segment 4542 claims 278528 bytes but has 0 (high by 278528)

 fix? yes

 segment 4604 claims 225280 bytes but has 0 (high by 225280)

 fix? yes

 segment 4605 claims 188416 bytes but has 0 (high by 188416)

 fix? yes

 segment 4639 claims 779648 bytes but has 771456 (high by 8192)

 fix? yes

 segment 4667 claims 222592 bytes but has 177536 (high by 45056)

 fix? yes

 segment 4709 claims 90112 bytes but has 0 (high by 90112)

 fix? yes

 segment 4726 claims 140288 bytes but has 0 (high by 140288)

 fix? yes

 segment 4737 claims 109568 bytes but has 0 (high by 109568)

 fix? yes

 segment 4741 claims 104448 bytes but has 0 (high by 104448)

 fix? yes

 segment 4744 claims 139264 bytes but has 0 (high by 139264)

 fix? yes

 segment 4754 claims 87040 bytes but has 0 (high by 87040)

 fix? yes

 segment 4756 claims 65536 bytes but has 0 (high by 65536)

 fix? yes

 segment 4757 claims 84992 bytes but has 0 (high by 84992)

 fix? yes

 segment 4758 claims 47104 bytes but has 0 (high by 47104)

 fix? yes

 segment 4759 claims 87040 bytes but has 0 (high by 87040)

 fix? yes

 segment 4761 claims 53248 bytes but has 0 (high by 53248)

 fix? yes

 segment 4765 claims 44032 bytes but has 0 (high by 44032)

 fix? yes

 segment 4766 claims 68608 bytes but has 0 (high by 68608)

 fix? yes

 segment 4767 claims 68608 bytes but has 0 (high by 68608)

 fix? yes

 segment 4769 claims 6144 bytes but has 0 (high by 6144)

 fix? yes

 segment 4775 claims 56320 bytes but has 0 (high by 56320)

 fix? yes

 segment 4785 claims 26624 bytes but has 0 (high by 26624)

 fix? yes

 segment 4792 claims 64512 bytes but has 0 (high by 64512)

 fix? yes

 segment 4798 claims 40960 bytes but has 0 (high by 40960)

 fix? yes

 segment 5018 claims 1040384 bytes but has 1032192 (high by 8192)

 fix? yes

 segment 5036 claims 1043840 bytes but has 1035648 (high by 8192)

 fix? yes

 segment 5047 claims 1036544 bytes but has 1020160 (high by 16384)

 fix? yes

 segment 5122 claims 471552 bytes but has 446976 (high by 24576)

 fix? yes

 segment 5123 claims 16000 bytes but has 984704 (low by 968704)

 fix? yes

 segment 5124 claims -23936 bytes but has 1022592 (low by 1046528)

 fix? yes

 segment 5125 claims 115456 bytes but has 983808 (low by 868352)

 fix? yes

 408192 bytes contained in 'clean' segment 5126

 dirty segment? yes

 avail given as 3085856, should be 3084832

 fix? yes

 nclean given as 3195, should be 3194

 fix? yes

 ** Phase 6 - Roll Forward
 211225 files, 3707237 used, 3310551 free

 WRITE CHANGES TO DISK? yes

 WRITING CHANGES TO DISK

 UPDATE STANDARD SUPERBLOCK? yes


 MARK FILE SYSTEM CLEAN? yes


 ***** FILE SYSTEM MARKED CLEAN *****

 ***** FILE SYSTEM WAS MODIFIED *****

State-Changed-From-To: closed->open
State-Changed-By: perseant@netbsd.org
State-Changed-When: Fri, 20 May 2005 17:27:59 +0000
State-Changed-Why:
There were further problems.


From: Konrad Schroder <perseant@hhhh.org>
To: Pavel Cahyna <pavel.cahyna@st.mff.cuni.cz>
Cc: gnats-bugs@netbsd.org
Subject: Re: bin/29151
Date: Fri, 20 May 2005 10:34:53 -0700 (PDT)

 On Fri, 20 May 2005, Pavel Cahyna wrote:

 > And the second. (Of the two feedback emails that I forgot to append to
 > the audit trail.)

 I don't think I got this one myself :^(

 > Damn, spoke too early. I ran it on the freshly - repaired filesystem
 > again, and it said:
 [...]
 > ** Phase 4 - Check Reference Counts
 > ** Phase 5 - Check Segment Block Accounting
 > segment 3005 claims 335872 bytes but has 0 (high by 335872)

 If you run fsck over and over, does it eventually reach a steady state? 
 Or does it always report these segments off by these values, or does it 
 never converge?
  						Konrad Schroder
  						perseant@hhhh.org

From: Pavel Cahyna <pcah8322@artax.karlin.mff.cuni.cz>
To: Konrad Schroder <perseant@hhhh.org>
Cc: gnats-bugs@netbsd.org
Subject: Re: bin/29151
Date: Sat, 21 May 2005 10:57:14 +0200

 > If you run fsck over and over, does it eventually reach a steady state? 

 The third run doesn't report any errors.

 Bye	Pavel

From: Konrad Schroder <perseant@netbsd.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: PR/29151 CVS commit: src/sbin/fsck_lfs
Date: Mon, 23 May 2005 22:17:20 +0000 (UTC)

 Module Name:	src
 Committed By:	perseant
 Date:		Mon May 23 22:17:20 UTC 2005

 Modified Files:
 	src/sbin/fsck_lfs: lfs.c setup.c

 Log Message:
 Check some error conditions that would otherwise cause fsck_lfs to dump core.
 Pointed out by Pavel Cahyna in a follow-on to PR #29151.


 To generate a diff of this commit:
 cvs rdiff -r1.12 -r1.13 src/sbin/fsck_lfs/lfs.c
 cvs rdiff -r1.21 -r1.22 src/sbin/fsck_lfs/setup.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: open->feedback
State-Changed-By: tsutsui@netbsd.org
State-Changed-When: Sun, 26 Nov 2006 10:34:46 +0900
State-Changed-Why:
Can we close this PR?


From: Pavel Cahyna <pavel.cahyna@matfyz.cz>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: bin/29151 (fsck_lfs dumps core with assertion "bp->b_count == size")
Date: Wed, 29 Nov 2006 00:06:10 +0100

 On Sun, Nov 26, 2006 at 01:34:47AM +0000, tsutsui@netbsd.org wrote:
 > Can we close this PR?

 The problem described in the audit trail (fsck must be run 2 times) still
 persists with NetBSD 3.0.

 Pavel

State-Changed-From-To: feedback->open
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Thu, 10 Apr 2008 03:26:05 +0000
State-Changed-Why:
feedback received, in 2006.


Responsible-Changed-From-To: perseant->bin-bug-people
Responsible-Changed-By: spz@NetBSD.org
Responsible-Changed-When: Tue, 14 Apr 2009 20:48:07 +0000
Responsible-Changed-Why:
perseant is status observer now and thus can't fix this


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.