target: Return correct sense data for IO past the end of a device
authorRoland Dreier <roland@purestorage.com>
Thu, 27 Jun 2013 00:36:18 +0000 (17:36 -0700)
committerNicholas Bellinger <nab@linux-iscsi.org>
Mon, 8 Jul 2013 01:36:45 +0000 (18:36 -0700)
We should use TCM_ADDRESS_OUT_OF_RANGE (-> sense data LOGICAL BLOCK
ADDRESS OUT OF RANGE) for IOs past the end of a device instead of
INVALID FIELD IN CDB.

Signed-off-by: Roland Dreier <roland@purestorage.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/target_core_sbc.c

index bbc5b0ee2bdc5bb1d2c7d45ea370d8834cbfbed2..ee0cb9d969296971f1344cfa4c29c15fd4c8de80 100644 (file)
@@ -581,7 +581,7 @@ sbc_parse_cdb(struct se_cmd *cmd, struct sbc_ops *ops)
                        pr_err("cmd exceeds last lba %llu "
                                "(lba %llu, sectors %u)\n",
                                end_lba, cmd->t_task_lba, sectors);
-                       return TCM_INVALID_CDB_FIELD;
+                       return TCM_ADDRESS_OUT_OF_RANGE;
                }
 
                size = sbc_get_size(cmd, sectors);