diff options
author | tegge <tegge@FreeBSD.org> | 1999-06-16 03:19:04 +0000 |
---|---|---|
committer | tegge <tegge@FreeBSD.org> | 1999-06-16 03:19:04 +0000 |
commit | f57c7820cd06f813c122a1e670024eecb46e5cdd (patch) | |
tree | b8dfbd3318950257201e6791004c8f30241cf07e /sys/kern | |
parent | 02e5fe8035792e74f2b2f78aac949d51e5ae0758 (diff) | |
download | FreeBSD-src-f57c7820cd06f813c122a1e670024eecb46e5cdd.zip FreeBSD-src-f57c7820cd06f813c122a1e670024eecb46e5cdd.tar.gz |
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
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/vfs_bio.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c index e15e396..88e0956 100644 --- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -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)) |