bio_flags (BIO_ORDERED) and g_clone_bio()

Jim Harris jimharris at freebsd.org
Thu Aug 2 18:01:55 UTC 2012


I'm trying to understand how the BIO_ORDERED flag ever gets passed
down to disk consumers (i.e. daX)  It's obvious that g_io_flush() sets
the BIO_ORDERED flag, but when the bio gets cloned, the bio_flags do
not get cloned.  So while the FLUSH command does make it to the disk
consumer, it is without the BIO_ORDERED flag.  I'm sure some flags are
not meant to be cloned, but is seems BIO_ORDERED should.

I'm sure I'm missing something here, but haven't figured it out yet.
Any help would be appreciated.

Thanks,

-Jim


More information about the freebsd-geom mailing list