Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Mar 1999 08:32:18 -0800 (PST)
From:      Julian Elischer <julian@whistle.com>
To:        Kirk McKusick <mckusick@FreeBSD.org>
Cc:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/sys buf.h src/sys/ufs/ffs ffs_vnops.c
Message-ID:  <Pine.BSF.3.95.990302083122.19823A-100000@current1.whistle.com>
In-Reply-To: <199903020404.UAA27314@freefall.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
I guess I should check the code, but do yuo toggle the bit beteen 1 one
pass and 0 the next?
(or do 2 passes each time?)

julian


On Mon, 1 Mar 1999, Kirk McKusick wrote:

> mckusick    1999/03/01 20:04:31 PST
> 
>   Modified files:
>     sys/sys              buf.h 
>     sys/ufs/ffs          ffs_vnops.c 
>   Log:
>   When fsync'ing a file on a filesystem using soft updates, we first try
>   to write all the dirty blocks. If some of those blocks have dependencies,
>   they will be remarked dirty when the I/O completes. On systems with
>   really fast I/O systems, it is possible to get in an infinite loop trying
>   to flush the buffers, because the I/O finishes before we can get all the
>   dirty buffers off the v_dirtyblkhd list and into the I/O queue. (The
>   previous algorithm looped over the v_dirtyblkhd list writing out buffers
>   until the list emptied.) So, now we mark each buffer that we try to
>   write so that we can distinguish the ones that are being remarked dirty
>   from those that we have not yet tried to flush. Once we have tried to
>   push every buffer once, we then push any associated metadata that is
>   causing the remaining buffers to be redirtied.
>   
>   Submitted by:	Matthew Dillon <dillon@apollo.backplane.com>
>   
>   Revision  Changes    Path
>   1.64      +2 -2      src/sys/sys/buf.h
>   1.55      +18 -10    src/sys/ufs/ffs/ffs_vnops.c
> 
> 



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95.990302083122.19823A-100000>