From fcc97846fa0f63898cc22d8515c3eec2e07f9b9c Mon Sep 17 00:00:00 2001 From: Cunyin Chang Date: Wed, 10 Aug 2016 08:03:02 +0800 Subject: [PATCH] iscsi: Return check condition if the IO size exceed the maximum value. Change-Id: Ibd36dda002559dbbf050253eb06ca24a179dbb66 Signed-off-by: Cunyin Chang --- lib/iscsi/iscsi.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/iscsi/iscsi.c b/lib/iscsi/iscsi.c index d91e9062f..e9c53df15 100644 --- a/lib/iscsi/iscsi.c +++ b/lib/iscsi/iscsi.c @@ -2905,7 +2905,11 @@ static int spdk_iscsi_op_scsi_read(struct spdk_iscsi_conn *conn, extra_data_in_count = spdk_iscsi_get_extra_data_in_count(task); if (extra_data_in_count > MAX_EXTRA_DATAIN_PER_CONNECTION) { SPDK_ERRLOG("Unsupported read size\n"); - return SPDK_ISCSI_CONNECTION_FATAL; + spdk_scsi_task_set_check_condition(&task->scsi, SPDK_SCSI_SENSE_ILLEGAL_REQUEST, 0x25, 0x00); + task->scsi.bytes_completed = task->scsi.transfer_len; + spdk_iscsi_task_response(conn, task); + spdk_iscsi_task_put(task); + return 0; } TAILQ_INIT(&task->scsi.subtask_list);