On Mon, Jun 17, 2024 at 05:03:03PM +0800, Li Feng wrote: > > But more importantly this doesn't really scale to all the variations > > of reported / guessed at probe time vs overriden. I think you just > > need an explicit override flag that skips the discard settings. > > > I think we only need to prevent the temporary change of discard mode > from UNMAP to WS16, and this patch should be enough. > > Maybe it is a good idea to remove the call to sd_config_discard > from read_capacity_16 . Because the unmap_alignment/ unmap_granularity > used by sd_config_discard are assigned in sd_read_block_limits. > > sd_read_block_limits is enough to negotiate the discard parameter. > It is redundant for read_capacity to modify the discard parameter. In this way, > when the SCSI probe sends read_capacity first and then read block limits, > it avoids the change of discard from DISABLE to WS16 to UNMAP. Note that in the linux-next tree for 6.11 we're not only applying the discard choice to the queue_limits structure and not commiting it in read_capacity_16. So it will be overriden before it gets actually applied. Can you check that your issue doesn't show up in linux-next?