OSDN Git Service

scsi: iscsi: Release endpoint ID when its freed
authorMike Christie <michael.christie@oracle.com>
Fri, 8 Apr 2022 00:13:07 +0000 (19:13 -0500)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 12 Apr 2022 02:09:34 +0000 (22:09 -0400)
commit3c6ae371b8a1ffba1fc415989fd581ebf841ed0a
tree8092db4e93248fcc76d24168ed421f8da87e957d
parentcbd2283aaf47fef4ded4b29124b1ef3beb515f3a
scsi: iscsi: Release endpoint ID when its freed

We can't release the endpoint ID until all references to the endpoint have
been dropped or it could be allocated while in use. This has us use an idr
instead of looping over all conns to find a free ID and then free the ID
when all references have been dropped instead of when the device is only
deleted.

Link: https://lore.kernel.org/r/20220408001314.5014-4-michael.christie@oracle.com
Tested-by: Manish Rangankar <mrangankar@marvell.com>
Reviewed-by: Lee Duncan <lduncan@suse.com>
Reviewed-by: Chris Leech <cleech@redhat.com>
Reviewed-by: Wu Bo <wubo40@huawei.com>
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/scsi_transport_iscsi.c
include/scsi/scsi_transport_iscsi.h