> + union {
> + __u32 data_len; /* for non-vectored io */
> + __u32 vec_cnt; /* for vectored io */
> + };
Nothing ever uses vec_cnt, so I don't think there is any point in adding
this union.
The rest looks good to me:
Reviewed-by: Christoph Hellwig <hch at lst.de>