diff options
| author | John Baldwin <jhb@FreeBSD.org> | 2022-03-10 23:49:53 +0000 |
|---|---|---|
| committer | John Baldwin <jhb@FreeBSD.org> | 2022-03-10 23:49:53 +0000 |
| commit | 7aab9c14a462e0871394bbc4e276affb79c8d173 (patch) | |
| tree | c1788760cd733e6e272aea9bbf554be9a5271c91 /sys/dev/iser | |
| parent | c6a43f7f10b183469c3804cfb31b29b6d938621b (diff) | |
Diffstat (limited to 'sys/dev/iser')
| -rw-r--r-- | sys/dev/iser/icl_iser.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/sys/dev/iser/icl_iser.c b/sys/dev/iser/icl_iser.c index 2c2514a1422b..140b5622385d 100644 --- a/sys/dev/iser/icl_iser.c +++ b/sys/dev/iser/icl_iser.c @@ -43,6 +43,7 @@ static void iser_conn_release(struct icl_conn *ic); static icl_conn_new_pdu_t iser_conn_new_pdu; static icl_conn_pdu_free_t iser_conn_pdu_free; static icl_conn_pdu_data_segment_length_t iser_conn_pdu_data_segment_length; +static icl_conn_pdu_append_bio_t iser_conn_pdu_append_bio; static icl_conn_pdu_append_data_t iser_conn_pdu_append_data; static icl_conn_pdu_queue_t iser_conn_pdu_queue; static icl_conn_handoff_t iser_conn_handoff; @@ -51,12 +52,14 @@ static icl_conn_close_t iser_conn_close; static icl_conn_connect_t iser_conn_connect; static icl_conn_task_setup_t iser_conn_task_setup; static icl_conn_task_done_t iser_conn_task_done; +static icl_conn_pdu_get_bio_t iser_conn_pdu_get_bio; static icl_conn_pdu_get_data_t iser_conn_pdu_get_data; static kobj_method_t icl_iser_methods[] = { KOBJMETHOD(icl_conn_new_pdu, iser_conn_new_pdu), KOBJMETHOD(icl_conn_pdu_free, iser_conn_pdu_free), KOBJMETHOD(icl_conn_pdu_data_segment_length, iser_conn_pdu_data_segment_length), + KOBJMETHOD(icl_conn_pdu_append_bio, iser_conn_pdu_append_bio), KOBJMETHOD(icl_conn_pdu_append_data, iser_conn_pdu_append_data), KOBJMETHOD(icl_conn_pdu_queue, iser_conn_pdu_queue), KOBJMETHOD(icl_conn_handoff, iser_conn_handoff), @@ -65,6 +68,7 @@ static kobj_method_t icl_iser_methods[] = { KOBJMETHOD(icl_conn_connect, iser_conn_connect), KOBJMETHOD(icl_conn_task_setup, iser_conn_task_setup), KOBJMETHOD(icl_conn_task_done, iser_conn_task_done), + KOBJMETHOD(icl_conn_pdu_get_bio, iser_conn_pdu_get_bio), KOBJMETHOD(icl_conn_pdu_get_data, iser_conn_pdu_get_data), { 0, 0 } }; @@ -109,6 +113,18 @@ out: } int +iser_conn_pdu_append_bio(struct icl_conn *ic, struct icl_pdu *request, + struct bio *bp, size_t offset, size_t len, int flags) +{ + MPASS(!((request->ip_bhs->bhs_opcode & ISCSI_OPCODE_MASK) == + ISCSI_BHS_OPCODE_LOGIN_REQUEST || + (request->ip_bhs->bhs_opcode & ISCSI_OPCODE_MASK) == + ISCSI_BHS_OPCODE_TEXT_REQUEST)); + + return (0); +} + +int iser_conn_pdu_append_data(struct icl_conn *ic, struct icl_pdu *request, const void *addr, size_t len, int flags) { @@ -127,6 +143,14 @@ iser_conn_pdu_append_data(struct icl_conn *ic, struct icl_pdu *request, } void +iser_conn_pdu_get_bio(struct icl_conn *ic, struct icl_pdu *ip, + size_t pdu_off, struct bio *bp, size_t bio_off, + size_t len) +{ + MPASS(ip->ip_data_mbuf == NULL); +} + +void iser_conn_pdu_get_data(struct icl_conn *ic, struct icl_pdu *ip, size_t off, void *addr, size_t len) { |
