Re: [PATCH 03/24] iov_iter: Add I/O discard iterator

From: Al Viro
Date: Sat Oct 20 2018 - 01:05:28 EST


On Sat, Oct 20, 2018 at 02:10:59AM +0100, David Howells wrote:

> @@ -1060,6 +1074,9 @@ void iov_iter_revert(struct iov_iter *i, size_t unroll)
> }
> unroll -= i->iov_offset;
> switch (iov_iter_type(i)) {
> + case ITER_DISCARD:
> + i->iov_offset = 0;
> + return;

... the hell? That makes no sense whatsoever; what, besides this and immediately
preceding part of iov_iter_revert() so much as looks at ->iov_offset for those?
Just have it bugger off before the
if (unroll <= i->iov_offset) {
i->iov_offset -= unroll;
return;
}
bit...