diff options
author | kib <kib@FreeBSD.org> | 2015-08-07 08:13:34 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2015-08-07 08:13:34 +0000 |
commit | 1ca7d277b176166167430e5cfa98257600c109f3 (patch) | |
tree | f5780fb1811752b1ad8ff8c857e3e9b360926e53 /sys/geom | |
parent | 9d0901679bf40ce3230be4d327b086c72a4075e2 (diff) | |
download | FreeBSD-src-1ca7d277b176166167430e5cfa98257600c109f3.zip FreeBSD-src-1ca7d277b176166167430e5cfa98257600c109f3.tar.gz |
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
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 0b8e118..97a7eef 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; |