OSDN Git Service

scsi: t10-pi: Return correct ref tag when queue has no integrity profile
authorMartin K. Petersen <martin.petersen@oracle.com>
Wed, 5 Dec 2018 01:58:33 +0000 (20:58 -0500)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sat, 8 Dec 2018 03:39:46 +0000 (22:39 -0500)
commit60a89a3ce0cce515dc663bc1b45ac89202ad6c79
tree1965de161eed04cc1e72eb114b5889e943a4c9fb
parent9ae4f8420ed7be4b13c96600e3568c144d101a23
scsi: t10-pi: Return correct ref tag when queue has no integrity profile

Commit ddd0bc756983 ("block: move ref_tag calculation func to the block
layer") moved ref tag calculation from SCSI to a library function. However,
this change broke returning the correct ref tag for devices operating in
DIF mode since these do not have an associated block integrity profile.
This in turn caused read/write failures on PI-formatted disks attached to
an mpt3sas controller.

Fixes: ddd0bc756983 ("block: move ref_tag calculation func to the block layer")
Cc: stable@vger.kernel.org # 4.19+
Reported-by: John Garry <john.garry@huawei.com>
Tested-by: Xiang Chen <chenxiang66@hisilicon.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
include/linux/t10-pi.h