diff options
author | Nicholas Bellinger <nab@linux-iscsi.org> | 2012-11-07 23:01:10 -0500 |
---|---|---|
committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2012-11-15 15:04:52 -0500 |
commit | cd063bef414c51d79b9c6ea7a8ef8f9d319529bc (patch) | |
tree | 7c003f3c6e865cc0eaf4df43683a37802ce4cb5d /include/target | |
parent | 1920ed61fbbbb38919edfb2427b0b1fd4e4ad8d9 (diff) |
target/sbc: Seperate WRITE_SAME based on UNMAP flag in sbc_ops
This patch adds a new sbc_ops->execute_write_same_unmap() caller for use
with WRITE_SAME w/ UNMAP=1, and performs the ->execute_cmd() setup based
this bit within sbc_setup_write_same() code.
Also, makes the changes in sbc_parse_cdb() to handle a sense_reason_t
return from sbc_setup_write_same() on error.
Reported-by: Christoph Hellwig <hch@lst.de>
Cc: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'include/target')
-rw-r--r-- | include/target/target_core_backend.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/target/target_core_backend.h b/include/target/target_core_backend.h index aa868090b9ab..3393ab10766c 100644 --- a/include/target/target_core_backend.h +++ b/include/target/target_core_backend.h | |||
@@ -41,6 +41,7 @@ struct sbc_ops { | |||
41 | sense_reason_t (*execute_rw)(struct se_cmd *cmd); | 41 | sense_reason_t (*execute_rw)(struct se_cmd *cmd); |
42 | sense_reason_t (*execute_sync_cache)(struct se_cmd *cmd); | 42 | sense_reason_t (*execute_sync_cache)(struct se_cmd *cmd); |
43 | sense_reason_t (*execute_write_same)(struct se_cmd *cmd); | 43 | sense_reason_t (*execute_write_same)(struct se_cmd *cmd); |
44 | sense_reason_t (*execute_write_same_unmap)(struct se_cmd *cmd); | ||
44 | sense_reason_t (*execute_unmap)(struct se_cmd *cmd); | 45 | sense_reason_t (*execute_unmap)(struct se_cmd *cmd); |
45 | }; | 46 | }; |
46 | 47 | ||