]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r312291, r312669:
authormav <mav@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Tue, 7 Feb 2017 01:42:53 +0000 (01:42 +0000)
committermav <mav@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Tue, 7 Feb 2017 01:42:53 +0000 (01:42 +0000)
commit6e64a8168e780c92f1e0b4e024d6a533d2494ea3
tree31aef59c3b080eece2d23ae4fd6653af3293a057
parent244598cc712551331fc3c602a02f746fed05ef50
MFC r312291, r312669:
Make CTL frontends report kern_data_resid for under-/overruns.

It seems like kern_data_resid was never really implemented.  This change
finally does it.  Now frontends update this field while transferring data,
while CTL/backends getting it can more flexibly handle the result.
At this point behavior should not change significantly, still reporting
errors on write overrun, but that may be changed later, if we decide so.

CAM target frontend still does not properly handle overruns due to CAM API
limitations.  We may need to add some fields to struct ccb_accept_tio to
pass information about initiator requested transfer size(s).

git-svn-id: svn://svn.freebsd.org/base/stable/10@313365 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
12 files changed:
sys/cam/ctl/ctl.c
sys/cam/ctl/ctl_backend_block.c
sys/cam/ctl/ctl_backend_ramdisk.c
sys/cam/ctl/ctl_error.c
sys/cam/ctl/ctl_error.h
sys/cam/ctl/ctl_frontend_cam_sim.c
sys/cam/ctl/ctl_frontend_ioctl.c
sys/cam/ctl/ctl_frontend_iscsi.c
sys/cam/ctl/ctl_tpc.c
sys/cam/ctl/ctl_tpc_local.c
sys/cam/ctl/scsi_ctl.c
sys/cam/scsi/scsi_all.c