path: root/sys/cam/ctl/ctl_error.h
diff options
authorAlexander Motin <mav@FreeBSD.org>2017-01-16 16:19:55 +0000
committerAlexander Motin <mav@FreeBSD.org>2017-01-16 16:19:55 +0000
commiteb6ac6f9db762bf753e5b6837279f992eb8a5800 (patch)
tree503e9ffd3dd4c74fd5e968f0a0143cb0320e55b2 /sys/cam/ctl/ctl_error.h
parent662e30fca3530b5dba603d97aeedcc3fbc81ee97 (diff)
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). MFC after: 2 weeks
Notes: svn path=/head/; revision=312291
Diffstat (limited to 'sys/cam/ctl/ctl_error.h')
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/cam/ctl/ctl_error.h b/sys/cam/ctl/ctl_error.h
index d4cdbb370e25..75c948c439e6 100644
--- a/sys/cam/ctl/ctl_error.h
+++ b/sys/cam/ctl/ctl_error.h
@@ -66,6 +66,7 @@ void ctl_set_overlapped_cmd(struct ctl_scsiio *ctsio);
void ctl_set_overlapped_tag(struct ctl_scsiio *ctsio, uint8_t tag);
void ctl_set_invalid_field(struct ctl_scsiio *ctsio, int sks_valid, int command,
int field, int bit_valid, int bit);
+void ctl_set_invalid_field_ciu(struct ctl_scsiio *ctsio);
void ctl_set_invalid_opcode(struct ctl_scsiio *ctsio);
void ctl_set_param_len_error(struct ctl_scsiio *ctsio);
void ctl_set_already_locked(struct ctl_scsiio *ctsio);