Subject: kern/4812: lfs_markv typographical error
To: None <gnats-bugs@gnats.netbsd.org, perseant@hhhh.org>
From: None <perseant@hhhh.org>
List: netbsd-bugs
Date: 01/12/1998 18:48:07
>Number:         4812
>Category:       kern
>Synopsis:       Erroneously inserted `;' causes lfs_markv to silently abort
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people (Kernel Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Jan 12 19:05:01 1998
>Last-Modified:
>Originator:     Konrad Schroder
>Organization:
						Konrad Schroder
						perseant@hhhh.org
>Release:        1.3
>Environment:
System: NetBSD inle 1.3 NetBSD 1.3 (INLE) #31: Sun Jan 11 19:16:21 PST 1998 perseant@inle:/usr/src/sys/arch/i386/compile/INLE i386


>Description:
        Somehow, a `;' got appended to an error-testing "if"
        (lfs_syscalls.c, line 214), causing lfs_markv to *always* abort
        after the first indirect block was written out.  This rapidly
        munges the filesystem when the cleaner is running.
>How-To-Repeat:
        Any serious attempted use of LFS will exhibit this problem
        (indeed, merely a glance at the code will reveal the error of
        it).  Let me know if you want a serious exhibiting case, I'm
        sure I can provide one.
>Fix:
        Just delete the semicolon....

*** lfs_syscalls.c	Wed Jun 11 04:27:22 1997
--- lfs_syscalls.c.fixed	Mon Jan 12 18:25:35 1998
***************
*** 212,216 ****
  			    bsize)))
  				goto err2;
! 			if ((error = VOP_BWRITE(bp)) != 0);
  				goto err2;
  		}
--- 212,216 ----
  			    bsize)))
  				goto err2;
! 			if ((error = VOP_BWRITE(bp)) != 0)
  				goto err2;
  		}


>Audit-Trail:
>Unformatted: