__bio_iov_iter_get_pages(): make sure we don't leak page refs on failure

Calculate the number of pages we'd grabbed before trimming size down.
And don't bother with bio_put_pages() - an explicit cleanup loop is
easier to follow...

Fixes: b1a000d3b8ec "block: relax direct io memory alignment"
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
1 file changed