On 11 March 2016 at 10:16, Martin K. Petersen <martin.petersen@xxxxxxxxxx> wrote: > > Discard is advisory, the command will not get rejected. > In that case, if the granularity only act as some sort of "reference" but has no real "binding" to the actual behaviour, why would the kernel even "make up" the granularity itself according to the physical block size of the device: q->limits.discard_granularity = max(sdkp->physical_block_size, sdkp->unmap_granularity * logical_block_size); Shouldn't it simply be: q->limits.discard_granularity = sdkp->unmap_granularity * logical_block_size; -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html