On 05/05/2015 10:26 PM, Christoph Hellwig wrote:
Solutions? In tcmu_parse_cdb we can avoid calling sbc_parse_cdb when it
will do the wrong thing (option 1) or always call sbc_parse_cdb but fix up
when it did the wrong thing (option 2) or always call sbc_parse_cdb but fix
up later (option 3) or make CAW in TCMU work with the emulation
sbc_parse_cdb is setting up (option 4) or return an error if CAW is used
with a TCMU-backed device (option 5 (new)) or add an arg to sbc_parse_cdb
so it can avoid setting up the emulation we don't want (option 6 (new)) or
don't call sbc_parse_cdb at all and set up non-I/O cmd emulation in
tcmu_parse_cdb (option 7 (new)).
Ilias and I thought #2 was least ugly, but what's your preference?
I suspect #1 is the best option as for the reasons explained above.
I've implemented a patch for #1, here it is:
https://git.kernel.org/cgit/linux/kernel/git/grover/linux.git/commit/?h=tcmu-iomode-option1&id=01616b20311a9826ae1cb1806f93f1574a0fbfbd
Wasn't thrilled with how it turned out. How about if we just exclude the
troublesome opcodes (option #5)? They'd still be available in
full-passthrough mode...
https://git.kernel.org/cgit/linux/kernel/git/grover/linux.git/commit/?h=tcmu-iomode-option5&id=d0cd27e791d3efc4967b958d4572e1764feb668a
Thoughts?
Thanks -- Regards -- Andy
--
To unsubscribe from this list: send the line "unsubscribe target-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html