[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <44BCFE4F-AB66-4E6A-A181-E7D93847EF98@smartx.com>
Date: Mon, 17 Jun 2024 17:03:03 +0800
From: Li Feng <fengli@...rtx.com>
To: Christoph Hellwig <hch@...radead.org>
Cc: "James E.J. Bottomley" <James.Bottomley@...senpartnership.com>,
linux-kernel <linux-kernel@...r.kernel.org>,
"linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>,
"Martin K. Petersen" <martin.petersen@...cle.com>
Subject: Re: [PATCH] scsi: sd: Keep the discard mode stable
> 2024年6月17日 14:17,Christoph Hellwig <hch@...radead.org> 写道:
>
> On Sat, Jun 15, 2024 at 12:03:47AM +0800, Li Feng wrote:
>> + /*
>> + * When the discard mode has been set to UNMAP, it should not be set to
>
> Overly long line here.
OK.
>
>> + * WRITE SAME with UNMAP.
>> + */
>> + if (!sdkp->max_unmap_blocks)
>> + sd_config_discard(sdkp, SD_LBP_WS16);
>
> 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.
Thanks,
Li
Powered by blists - more mailing lists