summaryrefslogtreecommitdiffstats
path: root/include/target
diff options
context:
space:
mode:
authorNicholas Bellinger <nab@linux-iscsi.org>2012-11-07 20:01:10 -0800
committerNicholas Bellinger <nab@linux-iscsi.org>2012-11-15 12:04:52 -0800
commitcd063bef414c51d79b9c6ea7a8ef8f9d319529bc (patch)
tree7c003f3c6e865cc0eaf4df43683a37802ce4cb5d /include/target
parent1920ed61fbbbb38919edfb2427b0b1fd4e4ad8d9 (diff)
downloadlinux-cd063bef414c51d79b9c6ea7a8ef8f9d319529bc.tar.gz
linux-cd063bef414c51d79b9c6ea7a8ef8f9d319529bc.tar.bz2
linux-cd063bef414c51d79b9c6ea7a8ef8f9d319529bc.zip
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.h1
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 {
sense_reason_t (*execute_rw)(struct se_cmd *cmd);
sense_reason_t (*execute_sync_cache)(struct se_cmd *cmd);
sense_reason_t (*execute_write_same)(struct se_cmd *cmd);
+ sense_reason_t (*execute_write_same_unmap)(struct se_cmd *cmd);
sense_reason_t (*execute_unmap)(struct se_cmd *cmd);
};