From 04c9c3451f0ca88b32497f8781e60434f51577ea Mon Sep 17 00:00:00 2001 From: Shuhei Matsumoto Date: Mon, 30 Sep 2019 18:27:37 +0900 Subject: [PATCH] lib/iscsi: Re-check LUN hot plug after aborting SCSI Data-In tasks LUN hot plug was not checked after aborting SCSI Data-In tasks. This patch is for the Github issue #938. Signed-off-by: Shuhei Matsumoto Change-Id: I131f9944d71e5fdab53f3010072ea7ed5293158c Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/469827 Tested-by: SPDK CI Jenkins Reviewed-by: Jim Harris Reviewed-by: Ben Walker --- lib/iscsi/iscsi.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/iscsi/iscsi.c b/lib/iscsi/iscsi.c index ed3fb899f..f8070da4d 100644 --- a/lib/iscsi/iscsi.c +++ b/lib/iscsi/iscsi.c @@ -2845,6 +2845,16 @@ iscsi_queue_task(struct spdk_iscsi_conn *conn, struct spdk_iscsi_task *task) static void iscsi_queue_mgmt_task(struct spdk_iscsi_conn *conn, struct spdk_iscsi_task *task) { + struct spdk_scsi_lun *lun; + + lun = spdk_scsi_dev_get_lun(conn->dev, task->lun_id); + if (lun == NULL) { + task->scsi.response = SPDK_SCSI_TASK_MGMT_RESP_INVALID_LUN; + spdk_iscsi_task_mgmt_response(conn, task); + spdk_iscsi_task_put(task); + return; + } + spdk_scsi_dev_queue_mgmt_task(conn->dev, &task->scsi); }