Hi Damien, On Fri, Sep 08, 2017 at 01:16:38AM +0900, Damien Le Moal wrote: > In the case of a ZBC disk used with scsi-mq, zone write locking does > not prevent write reordering in sequential zones. Unlike the legacy > case, zone locking can only be done after the command request is > removed from the scheduler dispatch queue. That is, at the time of > zone locking, the write command may already be out of order. Per my understanding, for legacy case, it can be quite tricky to let the existed I/O scheduler guarantee the write order for ZBC disk. I guess requeue still might cause write reorder even in legacy path, since requeue can happen in both scsi_request_fn() and scsi_io_completion() with q->queue_lock released, meantime new rq belonging to the same zone can come and be inserted to queue. > > Disable zone write locking in sd_zbc_write_lock_zone() if the disk is > used with scsi-mq. Write order guarantees can be provided by an > adapted I/O scheduler. Sounds a good idea to enhance the order in a new scheduler, will look at the following patch. -- Ming