Re: [PATCH] 2.6.10 - direct-io async short read bug

From: Badari Pulavarty
Date: Wed Mar 09 2005 - 11:09:54 EST


On Tue, 2005-03-08 at 17:44, Daniel McNeil wrote:
> On Tue, 2005-03-08 at 11:18, Badari Pulavarty wrote:
> > > Andrew, please don't apply the original patch. We shouldn't even attempt
> > > to submit IO beyond the filesize. We should truncate the IO request to
> > > filesize. I will send a patch today to fix this.
> > >
> >
> > Well, spoke too soon. This is an ugly corner case :( But I have
> > a ugly hack to fix it :)
> >
> > Let me ask you a basic question: Do we support DIO reads on a file
> > which is not blocksize multiple in size ? (say 12K - 10 bytes) ?
> >
> > What about the ones which are not 4K but 512 byte multiple ? (say 7K) ?
> >
> > I need answer to those, to figure out how hard I should try to fix this.
> >
> > Anyway, here is ugly version of the patch - which will limit the IO
> > size to filesize and uses lower blocksizes to read the file (since
> > the filesize is only 3K, it would go down to 512 byte blocksize).
> >
>
> BTW, I got a compile error because the 'iov' parameter is
> declared with 'const', so your patch is changing a read-only
> value. :(
>
> Daniel
>

Told you, it was ugly and I noted in the comments too :)

BTW, I don't think that is the correct solution. I guess,
we need to do the IO beyond EOF and zero out the data.
And also, this can happen only if the EOF is in the middle
of the block - so its an issue only for the last block.

What do you think ?

Thanks,
Badari
>

-
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/