Re: [PATCH V6 00/30] loop: Issue O_DIRECT aio using bio_vec

From: Dave Kleikamp
Date: Tue Jan 29 2013 - 22:22:55 EST


On 01/29/2013 12:42 PM, Jeff Moyer wrote:
> Dave Kleikamp <dave.kleikamp@xxxxxxxxxx> writes:
>
>> Al,
>> I'd like to push this patchset to linux-next. Would you like to pull it
>> into your vfs tree, would you rather I submitted it separately, or do
>> you have any issues with it before including it?
>
> I'm still chasing one regression in this patchset. If you use the ext4
> driver for ext2 file systems, and you run the libaio test harness, then
> you will be able to successfully write beyond the maximum file size in a
> file (see test case 8).

I found the problem. iov_iter_shorten() wasn't setting i->count to the new
value.

This fixes it. I'll fix the patchset tomorrow.

Thanks,
Shaggy

diff --git a/fs/iov-iter.c b/fs/iov-iter.c
index ac2d96e..ade8c11 100644
--- a/fs/iov-iter.c
+++ b/fs/iov-iter.c
@@ -370,6 +370,7 @@ static int ii_iovec_shorten(struct iov_iter *i, size_t count)
{
struct iovec *iov = (struct iovec *)i->data;
i->nr_segs = iov_shorten(iov, i->nr_segs, count);
+ i->count = min(i->count, count);
return 0;
}

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/