On Wed, 2019-11-20 at 11:05 +0100, Hannes Reinecke wrote: > > Hmm. > > I must admit I patently don't like this explicit dependency on > blk_nonrot(). Having a conditional counter is just an open invitation to > getting things wrong... > This concerns me as well, it seems like the SCSI ML should have it's own per-device attribute if we actually need to control this per-device instead of on a per-host or per-driver basis. And it seems like this is something that is specific to high-performance drivers, so changing the way this works for all drivers seems a bit much. Ordinarily I'd prefer a host template attribute as Sumanesh proposed, but I dislike wrapping the examination of that and the queue flag in a macro that makes it not obvious how the behavior is affected. (Plus Hannes just submitted submitted the patches to remove .use_cmd_list, which was another piece of ML functionality used by only a few drivers.) Ming's patch does freeze the queue if NONROT is changed by sysfs, but the flag can be changed by other kernel code, e.g. sd_revalidate_disk() clears it and then calls sd_read_block_characteristics() which may set it again. So it's not clear to me how reliable this is. -Ewan