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:
parent
e4ab40bcb6
commit
01cf8ad024
|
@ -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))
|
||||
|
|
Loading…
Reference in New Issue