diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2010-06-29 18:52:21 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2010-06-29 18:52:21 +0000 |
commit | d39a9ee347bd5a3e56a3272fbf50afe828620da6 (patch) | |
tree | 7b9e57dde86b7685fc2cb1cfc4dafb0b434991bf /sys/kern/vfs_bio.c | |
parent | 6393ccd109d17c92e6427fba5730a05c7e4ac29c (diff) |
Introduce bufq_quiesce(), which will block I/O ifrom getting on the queues,
and waits until all I/O currently on the queues has been completed. To get
I/O going again, call bufq_restart().
To be used for suspend/resume.
Joint effort with thib@, tedu@; tested by mlarkin@, marco@
Diffstat (limited to 'sys/kern/vfs_bio.c')
-rw-r--r-- | sys/kern/vfs_bio.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c index 93c404bb457..b242d58978c 100644 --- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vfs_bio.c,v 1.121 2010/02/05 12:24:32 jsing Exp $ */ +/* $OpenBSD: vfs_bio.c,v 1.122 2010/06/29 18:52:20 kettenis Exp $ */ /* $NetBSD: vfs_bio.c,v 1.44 1996/06/11 11:15:36 pk Exp $ */ /* @@ -1228,6 +1228,9 @@ biodone(struct buf *bp) wakeup(bp); } } + + if (bp->b_bq) + bufq_done(bp->b_bq, bp); } #ifdef DDB |