Akihiko,
> I'd like to leave this patch as is since I cannot deny the possibility
> that the host has a different alignment offset for discarding and
> other operations.
That's correct.
SCSI explicitly reports separate values for physical block alignment and
"discard" alignment. The queue limits reflect this distinction.
While it is not super common for these two to be different, it does
happen. There are several disk arrays that do not have an internal
allocation unit (discard granularity) which is a power of two, for
instance.
I am not particularly happy that we have to deal with two distinct types
of alignment in the stack but that is the reality of the hardware we
have to support.
--
Martin K. Petersen Oracle Linux Engineering