diff options
author | Matthew Macy <[email protected]> | 2020-10-30 10:00:33 -0700 |
---|---|---|
committer | GitHub <[email protected]> | 2020-10-30 10:00:33 -0700 |
commit | 5fa356ea44240c188ad0e4f7b6af20c3f1b99257 (patch) | |
tree | 46a2c69be73c930916bc39c4e7b526239afc7098 /lib/libspl | |
parent | 1199c3e8fb9006f28e11c747101ba770cc0bf743 (diff) |
Remove UIO_ZEROCOPY functions structures
The original xuio zero copy functionality has always been unused
on Linux and FreeBSD. Remove this disabled code to avoid any
confusion and improve readability.
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Ryan Moeller <[email protected]>
Signed-off-by: Matt Macy <[email protected]>
Closes #11124
Diffstat (limited to 'lib/libspl')
-rw-r--r-- | lib/libspl/include/sys/uio.h | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/lib/libspl/include/sys/uio.h b/lib/libspl/include/sys/uio.h index 482ffef6f..99a5a4d2a 100644 --- a/lib/libspl/include/sys/uio.h +++ b/lib/libspl/include/sys/uio.h @@ -76,45 +76,6 @@ typedef struct uio { ssize_t uio_resid; /* residual count */ } uio_t; -typedef enum xuio_type { - UIOTYPE_ASYNCIO, - UIOTYPE_ZEROCOPY, -} xuio_type_t; - -#define UIOA_IOV_MAX 16 - -typedef struct uioa_page_s { /* locked uio_iov state */ - int uioa_pfncnt; /* count of pfn_t(s) in *uioa_ppp */ - void **uioa_ppp; /* page_t or pfn_t array */ - caddr_t uioa_base; /* address base */ - size_t uioa_len; /* span length */ -} uioa_page_t; - -typedef struct xuio { - uio_t xu_uio; /* embedded UIO structure */ - - /* Extended uio fields */ - enum xuio_type xu_type; /* uio type */ - union { - struct { - uint32_t xu_a_state; /* state of async i/o */ - ssize_t xu_a_mbytes; /* bytes moved */ - uioa_page_t *xu_a_lcur; /* uioa_locked[] pointer */ - void **xu_a_lppp; /* lcur->uioa_pppp[] pointer */ - void *xu_a_hwst[4]; /* opaque hardware state */ - uioa_page_t xu_a_locked[UIOA_IOV_MAX]; - } xu_aio; - - struct { - int xu_zc_rw; /* read or write buffer */ - void *xu_zc_priv; /* fs specific */ - } xu_zc; - } xu_ext; -} xuio_t; - -#define XUIO_XUZC_PRIV(xuio) xuio->xu_ext.xu_zc.xu_zc_priv -#define XUIO_XUZC_RW(xuio) xuio->xu_ext.xu_zc.xu_zc_rw - #define uio_segflg(uio) (uio)->uio_segflg #define uio_offset(uio) (uio)->uio_loffset #define uio_resid(uio) (uio)->uio_resid |