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

Conversation

tuxoko
Copy link
Contributor

@tuxoko tuxoko commented Jul 30, 2015

Starting from Linux 4.1, bio_vec will be allowed to pass into filesystem via
iter_read/iter_write, so we add a bio_vec field in uio_t to hold it, and use
UIO_BVEC in segflg to determine which "vec".

Also, to be consistent to newer kernel, we make iovec and bio_vec immutable,
and make uio act as an iterator with the new uio_skip field.

Signed-off-by: Chunwei Chen [email protected]

@l1k
Copy link

l1k commented Jul 31, 2015

Tested-by: Lukas Wunner [email protected]

@ryao
Copy link
Contributor

ryao commented Aug 7, 2015

I have tested this too by applying it to spl-0.6.4.2. It works fine.

@infowolfe
Copy link
Contributor

working with sys-kernel/aufs-sources-4.1.5

Starting from Linux 4.1, bio_vec will be allowed to pass into filesystem via
iter_read/iter_write, so we add a bio_vec field in uio_t to hold it, and use
UIO_BVEC in segflg to determine which "vec".

Also, to be consistent to newer kernel, we make iovec and bio_vec immutable,
and make uio act as an iterator with the new uio_skip field indicating number
of bytes to skip in the first segment.

Signed-off-by: Chunwei Chen <[email protected]>
@tuxoko
Copy link
Contributor Author

tuxoko commented Aug 18, 2015

Added #include <linux/blkdev.h>

@kernelOfTruth
Copy link

@tuxoko I'll test this updated patch and openzfs/zfs#3651 once I get the opportunity

Thanks !

@tuxoko
Copy link
Contributor Author

tuxoko commented Aug 18, 2015

@kernelOfTruth
This update only fix compile error for older kernel. So it shouldn't matter.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants