Author: mav
Date: Wed Jan 30 17:24:50 2019
New Revision: 343585
URL: https://svnweb.freebsd.org/changeset/base/343585

Log:
  Only sort requests of types that have concept of offset.
  
  Other types, such as BIO_FLUSH or BIO_ZONE, or especially new/unknown ones,
  may imply some degree of ordering even if strict ordering is not requested
  explicitly.
  
  MFC after:    2 weeks
  Sponsored by: iXsystems, Inc.

Modified:
  head/sys/kern/subr_disk.c

Modified: head/sys/kern/subr_disk.c
==============================================================================
--- head/sys/kern/subr_disk.c   Wed Jan 30 17:11:08 2019        (r343584)
+++ head/sys/kern/subr_disk.c   Wed Jan 30 17:24:50 2019        (r343585)
@@ -259,6 +259,17 @@ bioq_disksort(struct bio_queue_head *head, struct bio 
                return;
        }
 
+       /*
+        * We should only sort requests of types that have concept of offset.
+        * Other types, such as BIO_FLUSH or BIO_ZONE, may imply some degree
+        * of ordering even if strict ordering is not requested explicitly.
+        */
+       if (bp->bio_cmd != BIO_READ && bp->bio_cmd != BIO_WRITE &&
+           bp->bio_cmd != BIO_DELETE) {
+               bioq_insert_tail(head, bp);
+               return;
+       }
+
        if (bioq_batchsize > 0 && head->batched > bioq_batchsize) {
                bioq_insert_tail(head, bp);
                return;
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to