Commit 3fd3a52c authored by keliu's avatar keliu Committed by Martin K. Petersen
Browse files

scsi: core: iscsi: Directly use ida_alloc()/ida_free()

Use ida_alloc()/ida_free() instead of the deprecated
ida_simple_get()/ida_simple_remove() interface.

Link: https://lore.kernel.org/r/20220527083049.2552526-1-liuke94@huawei.com


Reviewed-by: default avatarMike Christie <michael.christie@oracle.com>
Reviewed-by: default avatarLee Duncan <lduncan@suse.com>
Signed-off-by: default avatarkeliu <liuke94@huawei.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent a6e0d179
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -350,7 +350,7 @@ static void scsi_host_dev_release(struct device *dev)

	kfree(shost->shost_data);

	ida_simple_remove(&host_index_ida, shost->host_no);
	ida_free(&host_index_ida, shost->host_no);

	if (shost->shost_state != SHOST_CREATED)
		put_device(parent);
@@ -395,7 +395,7 @@ struct Scsi_Host *scsi_host_alloc(struct scsi_host_template *sht, int privsize)
	init_waitqueue_head(&shost->host_wait);
	mutex_init(&shost->scan_mutex);

	index = ida_simple_get(&host_index_ida, 0, 0, GFP_KERNEL);
	index = ida_alloc(&host_index_ida, GFP_KERNEL);
	if (index < 0) {
		kfree(shost);
		return NULL;
+3 −3
Original line number Diff line number Diff line
@@ -1975,7 +1975,7 @@ static void __iscsi_unbind_session(struct work_struct *work)
	scsi_remove_target(&session->dev);

	if (session->ida_used)
		ida_simple_remove(&iscsi_sess_ida, target_id);
		ida_free(&iscsi_sess_ida, target_id);

unbind_session_exit:
	iscsi_session_event(session, ISCSI_KEVENT_UNBIND_SESSION);
@@ -2044,7 +2044,7 @@ int iscsi_add_session(struct iscsi_cls_session *session, unsigned int target_id)
		return -ENOMEM;

	if (target_id == ISCSI_MAX_TARGET) {
		id = ida_simple_get(&iscsi_sess_ida, 0, 0, GFP_KERNEL);
		id = ida_alloc(&iscsi_sess_ida, GFP_KERNEL);

		if (id < 0) {
			iscsi_cls_session_printk(KERN_ERR, session,
@@ -2083,7 +2083,7 @@ int iscsi_add_session(struct iscsi_cls_session *session, unsigned int target_id)
	device_del(&session->dev);
release_ida:
	if (session->ida_used)
		ida_simple_remove(&iscsi_sess_ida, session->target_id);
		ida_free(&iscsi_sess_ida, session->target_id);
destroy_wq:
	destroy_workqueue(session->workq);
	return err;