target/sbc: Check that the LBA and number of blocks are correct in VERIFY
authorChristophe Vu-Brugier <cvubrugier@yahoo.fr>
Tue, 10 Jun 2014 15:53:22 +0000 (17:53 +0200)
committerNicholas Bellinger <nab@linux-iscsi.org>
Wed, 11 Jun 2014 18:52:40 +0000 (11:52 -0700)
This patch extracts LBA + sectors for VERIFY, and adds a goto check_lba
to perform the end-of-device checking.

(Update patch to drop lba_check usage - nab)

Signed-off-by: Christophe Vu-Brugier <cvubrugier@yahoo.fr>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/target_core_sbc.c

index 7675d2aaa0f77fa97275a82bd23562f24211b452..97a33603795d1577e06376792d17f6cb017af4e9 100644 (file)
@@ -914,8 +914,10 @@ sbc_parse_cdb(struct se_cmd *cmd, struct sbc_ops *ops)
                break;
        case VERIFY:
                size = 0;
+               sectors = transport_get_sectors_10(cdb);
+               cmd->t_task_lba = transport_lba_32(cdb);
                cmd->execute_cmd = sbc_emulate_noop;
-               break;
+               goto check_lba;
        case REZERO_UNIT:
        case SEEK_6:
        case SEEK_10: