Some corrections to this article, which are excusable since it was probably done prior to 2.6.17-rc3 being released with vmsplice included:
The syscall actually looks like this now:
long vmsplice(int fd, const struct iovec *iov, unsigned long nr_segs,
unsigned int flags);
So you can pass in several chunks and get them spliced into the pipe in one go. The fcntl() bits are removed for now, as the article mentions it isn't completely clear how we'll handle the reuse case yet.
Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds