Skip to content
This repository has been archived by the owner on Feb 26, 2020. It is now read-only.

Restructure uio to accommodate bio_vec #468

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion include/sys/uio.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
/*****************************************************************************\
* Copyright (C) 2007-2010 Lawrence Livermore National Security, LLC.
* Copyright (C) 2007 The Regents of the University of California.
* Copyright (c) 2015 by Chunwei Chen. All rights reserved.
* Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
* Written by Brian Behlendorf <behlendorf1@llnl.gov>.
* UCRL-CODE-235197
Expand All @@ -26,6 +27,7 @@
#define _SPL_UIO_H

#include <linux/uio.h>
#include <linux/blkdev.h>
#include <asm/uaccess.h>
#include <sys/types.h>

Expand All @@ -40,17 +42,22 @@ typedef enum uio_seg {
UIO_USERSPACE = 0,
UIO_SYSSPACE = 1,
UIO_USERISPACE= 2,
UIO_BVEC = 3,
} uio_seg_t;

typedef struct uio {
struct iovec *uio_iov;
union {
const struct iovec *uio_iov;
const struct bio_vec *uio_bvec;
};
int uio_iovcnt;
offset_t uio_loffset;
uio_seg_t uio_segflg;
uint16_t uio_fmode;
uint16_t uio_extflg;
offset_t uio_limit;
ssize_t uio_resid;
size_t uio_skip;
} uio_t;

typedef struct aio_req {
Expand Down