diff mbox

sd: Unregister integrity profile

Message ID 1429044983-3584-1-git-send-email-martin.petersen@oracle.com (mailing list archive)
State New, archived
Headers show

Commit Message

Martin K. Petersen April 14, 2015, 8:56 p.m. UTC
The new integrity code did not correctly unregister the profile for SD
disks. Call blk_integrity_unregister() when we release a disk.

Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Reported-by: Sagi Grimberg <sagig@dev.mellanox.co.il>
CC: stable@vger.kernel.org # v3.17+
---
 drivers/scsi/sd.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Sagi Grimberg April 15, 2015, 9:22 a.m. UTC | #1
On 4/14/2015 11:56 PM, Martin K. Petersen wrote:
> The new integrity code did not correctly unregister the profile for SD
> disks. Call blk_integrity_unregister() when we release a disk.
>
> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
> Reported-by: Sagi Grimberg <sagig@dev.mellanox.co.il>
> CC: stable@vger.kernel.org # v3.17+

Has it been there this long? I wander how we didn't step on
this sooner...

> ---
>   drivers/scsi/sd.c | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
> index 6b78476d04bb..3290a3ed5b31 100644
> --- a/drivers/scsi/sd.c
> +++ b/drivers/scsi/sd.c
> @@ -3100,6 +3100,7 @@ static void scsi_disk_release(struct device *dev)
>   	ida_remove(&sd_index_ida, sdkp->index);
>   	spin_unlock(&sd_index_lock);
>
> +	blk_integrity_unregister(disk);
>   	disk->private_data = NULL;
>   	put_disk(disk);
>   	put_device(&sdkp->device->sdev_gendev);
>

Always nice to post a trace, go home, and find the fix in
the next morning...

Thanks Martin!

Tested-by: Sagi Grimberg <sagig@mellanox.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index 6b78476d04bb..3290a3ed5b31 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -3100,6 +3100,7 @@  static void scsi_disk_release(struct device *dev)
 	ida_remove(&sd_index_ida, sdkp->index);
 	spin_unlock(&sd_index_lock);
 
+	blk_integrity_unregister(disk);
 	disk->private_data = NULL;
 	put_disk(disk);
 	put_device(&sdkp->device->sdev_gendev);