Message ID | 20240702030118.2198570-1-haoqian.he@smartx.com |
---|---|
Headers | show |
Series | scsi: disable discard when set target full provisioning | expand |
On 7/2/24 12:01, Haoqian He wrote: > Since the memory allocated by kzalloc for sdkp has been > initialized to 0, the code that initializes some sdkp > fields to 0 is no longer needed. > > Signed-off-by: Haoqian He <haoqian.he@smartx.com> > Signed-off-by: Li Feng <fengli@smartx.com> Looks OK to me. Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Haoqian, > + if (!sdkp->lbpvpd) > + /* Disable discard if LBP VPD page not provided */ > + return SD_LBP_DISABLE; That is not a valid assumption. Many devices which support thin provisioning either predate the LBP VPD being defined or have decided not to support that page. The current heuristics are very deliberate.
> 2024年7月2日 11:33,Damien Le Moal <dlemoal@kernel.org> 写道: > > On 7/2/24 12:01, Haoqian He wrote: >> Since the memory allocated by kzalloc for sdkp has been >> initialized to 0, the code that initializes some sdkp >> fields to 0 is no longer needed. >> >> Signed-off-by: Haoqian He <haoqian.he@smartx.com> >> Signed-off-by: Li Feng <fengli@smartx.com> > > Looks OK to me. > > Reviewed-by: Damien Le Moal <dlemoal@kernel.org> > > -- > Damien Le Moal > Western Digital Research > Hi Martin, According to the SBC-3 SPEC: "The device server in a logical unit that supports logical block provisioning management shall set the LBPME bit to one in the parameter data returned for a READ CAPACITY (16) command." So we can use lbpme bit instead of lbpvpd to indicate if the device is thin provisioned, which was implemented in patch 2 ("scsi: sd: remove scsi_disk field lbpvpd"). Thanks, Haoqian