From 2dd2e49cc75727a63f8c135161106c5ace49977e Mon Sep 17 00:00:00 2001 From: Alexander Motin Date: Fri, 30 Oct 2020 11:50:57 -0400 Subject: [PATCH] FreeBSD: Remove BIO_ORDERED flag from BIO_FLUSH ZFS always waits for the write completion before flushing the cache. That is why it does not require explicit ordering fences around it, which are pretty difficult to implement for NVMe, since one has no internal concept of strict request ordering. This was already removed from FreeBSD once, but got resurrected by mistake during OpenZFS merge. Reviewed-by: Brian Behlendorf Reviewed-by: Ryan Moeller Signed-off-by: Alexander Motin Closes #11130 --- module/os/freebsd/zfs/vdev_geom.c | 1 - 1 file changed, 1 deletion(-) diff --git a/module/os/freebsd/zfs/vdev_geom.c b/module/os/freebsd/zfs/vdev_geom.c index bf06f6919..b888cfdf0 100644 --- a/module/os/freebsd/zfs/vdev_geom.c +++ b/module/os/freebsd/zfs/vdev_geom.c @@ -1141,7 +1141,6 @@ sendreq: break; case ZIO_TYPE_IOCTL: bp->bio_cmd = BIO_FLUSH; - bp->bio_flags |= BIO_ORDERED; bp->bio_data = NULL; bp->bio_offset = cp->provider->mediasize; bp->bio_length = 0;