diff options
author | Nicholas Bellinger <nab@linux-iscsi.org> | 2013-10-01 16:46:37 -0700 |
---|---|---|
committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2013-10-03 04:24:06 -0700 |
commit | b7191253b302a9b98758c3616761ae111b6264b9 (patch) | |
tree | 2241583b77697ff47cfce1ef74435bd6eb379b1e /kernel/user.c | |
parent | c807f64340932e19f0d2ac9b30c8381e1f60663a (diff) | |
download | op-kernel-dev-b7191253b302a9b98758c3616761ae111b6264b9.zip op-kernel-dev-b7191253b302a9b98758c3616761ae111b6264b9.tar.gz |
target: Reset data_length for COMPARE_AND_WRITE to NoLB * block_size
This patch resets se_cmd->data_length for COMPARE_AND_WRITE emulation
within sbc_compare_and_write() to NoLB * block_size in order to address
a bug with FILEIO backends where a I/O failure will occur when data_length
does not match the I/O size being actually dispatched for the individual
per block READs + WRITEs.
This is done late enough in sbc_compare_and_write() after the memory
allocations have occured in transport_generic_new_cmd() to not cause
any unwanted side-effects.
Reported-by: Thomas Glanzmann <thomas@glanzmann.de>
Tested-by: Thomas Glanzmann <thomas@glanzmann.de>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'kernel/user.c')
0 files changed, 0 insertions, 0 deletions