summaryrefslogtreecommitdiff
path: root/drivers/target/target_core_device.c
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2011-11-30 13:48:30 +0400
committerNicholas Bellinger <nab@linux-iscsi.org>2011-12-06 10:00:58 +0400
commit65b0c78d5a0ca2cb82b7b9f54f855896e0d7fc10 (patch)
tree64a27fa0aa08795154674909ccbf2106f56783eb /drivers/target/target_core_device.c
parent5bff9e8584fbcdb361dada5a0425724b9e31e608 (diff)
downloadlinux-65b0c78d5a0ca2cb82b7b9f54f855896e0d7fc10.tar.xz
target/rd: fix or rewrite the copy routine
So the code assumes that the sg list is only a array while in reality loopback SGL memory via scsi_cmnd into target-core may be already chained. This patch converts ramdisk code to use sg_miter logic from scatterlist.h in order to properly support passthrough SGL usage with transport_generic_map_mem_to_cmd() via loopback. With this patch the bug goes away. However after umount/mount of the device my files are gone. So something is still not right. After looking at it for a while I decided to rewrite the that part of the code and now things do work for me. For reference: - http://article.gmane.org/gmane.linux.scsi.target.devel/595 the sg_next() conversion - http://article.gmane.org/gmane.linux.scsi.target.devel/602 the rewrite of the copy code (nab: Fix compile warning in rd_MEMCPY) Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Cc: stable@kernel.org Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'drivers/target/target_core_device.c')
0 files changed, 0 insertions, 0 deletions