target/transport: Always initialize bidi fields in se_cmd
authorIlias Tsitsimpis <iliastsi@arrikto.com>
Thu, 23 Apr 2015 18:30:07 +0000 (21:30 +0300)
committerNicholas Bellinger <nab@linux-iscsi.org>
Sun, 31 May 2015 05:41:46 +0000 (22:41 -0700)
commitb32bd0a8ee6a19f9b70aa4fcb9bfc802b105ce05
tree3ceefffefa02fb894ced4310a56f2d204a67b2d4
parent9736f4ad7c6dd79eea36c7fb537a27bbd802582a
target/transport: Always initialize bidi fields in se_cmd

Fields t_bidi_data_sg and t_bidi_data_nents are set only in the presence
of BIDI commands. This means that the underlying code (for example TCMU)
cannot inspect them when the SCSI command is not a BIDI one.

Ensure the code always initializes these fields with the given values,
even when the SCSI command is not a BIDI one. Set t_bidi_data_sg to
sgl_bidi (which should be NULL for non-BIDI commands) and
t_bidi_data_nents to sgl_bidi_count (which should be 0 for non-BIDI
commands). This allows the underlying code to use these fields
unconditionally.

Signed-off-by: Ilias Tsitsimpis <iliastsi@arrikto.com>
Signed-off-by: Vangelis Koukis <vkoukis@arrikto.com>
Reviewed-by: Andy Grover <agrover@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/target_core_transport.c