Messages in this thread Patch in this message | | | Date | Tue, 29 Jan 2013 21:22:21 -0600 | From | Dave Kleikamp <> | Subject | Re: [PATCH V6 00/30] loop: Issue O_DIRECT aio using bio_vec |
| |
On 01/29/2013 12:42 PM, Jeff Moyer wrote: > Dave Kleikamp <dave.kleikamp@oracle.com> 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; }
| |