On 2025/03/21 13:52, Benjamin Marzinski wrote: > On Fri, Mar 21, 2025 at 08:18:16AM +0100, Christoph Hellwig wrote: >> Add support for zoned device by passing through report_zoned to the >> underlying read device. >> >> This is required to make enable xfstests xfs/311 on zoned devices. > > On suspend, delay_presuspend() stops delaying and it doesn't guarantee > that new bios coming in will always be submitted after the delayed bios > it is flushing. That can mess things up for zoned devices. I didn't > check if that matters for the specific test. Setting > > ti->emulate_zone_append = true; > > would enforce write ordering, at the expense of adding a whole other > layer of delays to zoned dm-delay devices. Since this isn't really > useful outside of testing, I think that could be acceptable if necessary > (it would require us to support table reloads of zoned devices with > emulated zone append, since tests often want to change the delay). > However it would probably be better to see if we can just make dm-delay > preserve write ordering during a suspend.
delay_presuspend() calls flush_delayed_bios() with flush_all == true. So all BIOs will be flushed in the order they are queued in the delay list, which as far as I can tell is the order in which the user of dm-delay issued the BIOs. So for writes, the order is preserved as far as I can tell. -- Damien Le Moal Western Digital Research