On 11/30/18 12:17 PM, Al Viro wrote:
> 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()?
Hah, looks like I overlooked that. Not sure how anyone could look at
lib/iov_iter.c and not get lost in the beauty of it.
--
Jens Axboe