On Fri, Nov 30, 2018 at 09:56:45AM -0700, Jens Axboe wrote: > This explicitly sets up an ITER_KVEC from an iovec with kernel ranges > mapped. > +int import_kvec(int type, const struct kvec *kvecs, unsigned nr_segs, > + size_t bytes, struct iov_iter *iter) > +{ > + const struct iovec *p = (const struct iovec *) kvecs; > + > + iov_iter_init_type(iter, ITER_KVEC, type, p, nr_segs, bytes); > + return 0; > +} What the hell is wrong with existing iov_iter_kvec()?