T10-PI checksums were only added in 2.12, so I don't think it is reasonable for the server to return only a single t10crc4K checksum type, because this would break interoperability for 2.10.x clients.
One option for selecting the proper T10-PI checksum type automatically on the client, is to detect if only a single OBD_CKSUM_T10* type is returned to the client, then this indicates the server has T10-PI enabled (otherwise it would return multiple OBD_CKSUM_T10* types), and it should prefer this over other checksum types.
For example, on my test VM (no T10-PI support in the storage) it reports multiple t10* checksum types enabled:
while on a client where T10-PI hardware support is enabled on the server the client reports:
In this case, the client should prefer the single t10crc4K checksum type (if no type was specified) that matches the server hardware checksum type, even though crc32c may be somewhat faster.
Landed for 2.15