Subject: CVS commit: syssrc
To: None <source-changes@netbsd.org>
From: Konrad Schroder <perseant@netbsd.org>
List: source-changes
Date: 11/17/2000 21:14:42
Module Name:	syssrc
Committed By:	perseant
Date:		Fri Nov 17 19:14:42 UTC 2000

Modified Files:
	syssrc/sys/ufs/lfs: TODO lfs.h lfs_balloc.c lfs_bio.c lfs_extern.h
	    lfs_inode.c lfs_segment.c lfs_syscalls.c lfs_vnops.c

Log Message:
Correct accounting of lfs_avail, locked_queue_count, and locked_queue_bytes.
(PR #11468).  In the case of fragment allocation, check to see if enough
space is available before extending a fragment already scheduled for writing.

The locked_queue_* variables indicate the number of buffer headers and bytes,
respectively, that are unavailable to getnewbuf() because they are locked up
waiting for LFS to flush them; make sure that that is actually what we're
counting, i.e., never count malloced buffers, and always use b_bufsize instead
of b_bcount.

If DEBUG is defined, the periodic calls to lfs_countlocked will now complain
if either counter is incorrect.  (In the future lfs_countlocked will not need
to be called at all if DEBUG is not defined.)


To generate a diff of this commit:
cvs rdiff -r1.3 -r1.4 syssrc/sys/ufs/lfs/TODO
cvs rdiff -r1.34 -r1.35 syssrc/sys/ufs/lfs/lfs.h
cvs rdiff -r1.25 -r1.26 syssrc/sys/ufs/lfs/lfs_balloc.c
cvs rdiff -r1.31 -r1.32 syssrc/sys/ufs/lfs/lfs_bio.c
cvs rdiff -r1.21 -r1.22 syssrc/sys/ufs/lfs/lfs_extern.h
cvs rdiff -r1.45 -r1.46 syssrc/sys/ufs/lfs/lfs_inode.c
cvs rdiff -r1.61 -r1.62 syssrc/sys/ufs/lfs/lfs_segment.c
cvs rdiff -r1.51 -r1.52 syssrc/sys/ufs/lfs/lfs_syscalls.c
cvs rdiff -r1.47 -r1.48 syssrc/sys/ufs/lfs/lfs_vnops.c

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