On 6/11/24 2:19 PM, Christoph Hellwig wrote: > Move the nowait flag into the queue_limits feature field so that it > can be set atomically and all I/O is frozen when changing the flag. > > Stacking drivers are simplified in that they now can simply set the > flag, and blk_stack_limits will clear it when the features is not > supported by any of the underlying devices. > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > @@ -1825,9 +1815,7 @@ int dm_table_set_restrictions(struct dm_table *t, struct request_queue *q, > int r; > > if (dm_table_supports_nowait(t)) > - blk_queue_flag_set(QUEUE_FLAG_NOWAIT, q); > - else > - blk_queue_flag_clear(QUEUE_FLAG_NOWAIT, q); > + limits->features &= ~BLK_FEAT_NOWAIT; Shouldn't you set the flag here instead of clearing it ? -- Damien Le Moal Western Digital Research