On Tue, Apr 07, 2015 at 08:09:00AM -0400, Dan Lane wrote:
Thanks, but unfortunately your post doesn't have any replies
either... Any
idea of how I could work around or fix this?
I don't really know the COMPARE AND WRITE code at all, so I can't really
help with fixing it.
You could try to crudely disable it like in the patch below and hope
that the initiator has a fallback:
diff --git a/drivers/target/target_core_sbc.c b/drivers/target/target_core_sbc.c
index 315ff64..78d09a3 100644
--- a/drivers/target/target_core_sbc.c
+++ b/drivers/target/target_core_sbc.c
@@ -928,6 +928,7 @@ sbc_parse_cdb(struct se_cmd *cmd, struct sbc_ops *ops)
}
break;
}
+#if 0
case COMPARE_AND_WRITE:
sectors = cdb[13];
/*
@@ -950,6 +951,7 @@ sbc_parse_cdb(struct se_cmd *cmd, struct sbc_ops *ops)
cmd->execute_cmd = sbc_compare_and_write;
cmd->transport_complete_callback = compare_and_write_callback;
break;
+#endif
case READ_CAPACITY:
size = READ_CAP_LEN;
cmd->execute_cmd = sbc_emulate_readcapacity;