If we still haven't got a sufficient number of free buffers after the

call to flushdirtybuffers() then sleep in waitfreebuffers().
PR:		11697
Reviewed by:	David Greenman, Matt Dillon
This commit is contained in:
Tor Egge 1999-06-16 03:19:04 +00:00
parent e4ab40bcb6
commit 01cf8ad024
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=47941

View File

@ -11,7 +11,7 @@
* 2. Absolutely no warranty of function or purpose is made by the author
* John S. Dyson.
*
* $Id: vfs_bio.c,v 1.211 1999/05/12 22:30:50 peter Exp $
* $Id: vfs_bio.c,v 1.212 1999/06/15 23:37:23 mckusick Exp $
*/
/*
@ -1544,7 +1544,7 @@ waitfreebuffers(int slpflag, int slptimeo)
{
while (numfreebuffers < hifreebuffers) {
flushdirtybuffers(slpflag, slptimeo);
if (numfreebuffers < hifreebuffers)
if (numfreebuffers >= hifreebuffers)
break;
needsbuffer |= VFS_BIO_NEED_FREE;
if (tsleep(&needsbuffer, (PRIBIO + 4)|slpflag, "biofre", slptimeo))