From e3a6ac8d06210ac035cec8d86fab05549ff54f94 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;