diff options
author | Konstantin Belousov <kib@FreeBSD.org> | 2015-08-07 08:13:34 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2015-08-07 08:13:34 +0000 |
commit | 9b34965019a89e0c95c39ac20c81e3ebae4f5143 (patch) | |
tree | f5780fb1811752b1ad8ff8c857e3e9b360926e53 /sys/geom | |
parent | b47f904d8f130280ddd0eb5c5dd55a151ced0246 (diff) | |
download | src-9b34965019a89e0c95c39ac20c81e3ebae4f5143.tar.gz src-9b34965019a89e0c95c39ac20c81e3ebae4f5143.zip |
The condition to use direct processing for the unmapped bio is
reverted. We can do direct processing when g_io_check() does not need
to perform transient remapping of the bio, otherwise the thread has to
sleep.
Reviewed by: mav (previous version)
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Notes
Notes:
svn path=/head/; revision=286404
Diffstat (limited to 'sys/geom')
-rw-r--r-- | sys/geom/geom_io.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/geom/geom_io.c b/sys/geom/geom_io.c index 0b8e118a6944..97a7eef7e23e 100644 --- a/sys/geom/geom_io.c +++ b/sys/geom/geom_io.c @@ -520,8 +520,8 @@ g_io_request(struct bio *bp, struct g_consumer *cp) direct = (cp->flags & G_CF_DIRECT_SEND) && (pp->flags & G_PF_DIRECT_RECEIVE) && !g_is_geom_thread(curthread) && - (((pp->flags & G_PF_ACCEPT_UNMAPPED) == 0 && - (bp->bio_flags & BIO_UNMAPPED) != 0) || THREAD_CAN_SLEEP()); + ((pp->flags & G_PF_ACCEPT_UNMAPPED) != 0 || + (bp->bio_flags & BIO_UNMAPPED) == 0 || THREAD_CAN_SLEEP()); if (direct) { /* Block direct execution if less then half of stack left. */ size_t st, su; |