HomeFreeBSD

iscsi: Handle unmapped I/O requests.

Description

iscsi: Handle unmapped I/O requests.

Don't assume that csio->data_ptr is pointer to a data buffer that can
be passed to icl_get_pdu_data and icl_append_data. For unmapped I/O
requests, csio->data_ptr is instead a pointer to a struct bio as
indicated by CAM_DATA_BIO. To support these requests, add
icl_pdu_append_bio and icl_pdu_get_bio methods which pass a pointer to
the bio and an offset and length relative to the bio's buffer.

Note that only backends supporting unmapped requests need to implement
these hooks.

Implement simple no-op hooks for the iser backend.

Reviewed by: mav
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D34382

(cherry picked from commit 7aab9c14a462e0871394bbc4e276affb79c8d173)

Details

Provenance
jhbAuthored on Mar 10 2022, 11:49 PM
Reviewer
mav
Differential Revision
D34382: iscsi: Handle unmapped I/O requests.
Parents
rG08b090d767eb: iser: Fix check for opcodes in iser_conn_pdu_append_data.
Branches
Unknown
Tags
Unknown