Re: [PATCH] 2.6.10 - direct-io async short read bug
From: Suparna Bhattacharya
Date: Tue Mar 08 2005 - 05:24:15 EST
On Tue, Mar 08, 2005 at 01:41:41AM -0800, Andrew Morton wrote:
> Suparna Bhattacharya <suparna@xxxxxxxxxx> wrote:
> > > > can you spot what is going wrong here that we have to try and
> > > > workaround this later ?
> > >
> > > Good question. Do we have the i_sem coverage to prevent a concurrent
> > > truncate?
> > >
> > > But from Sebastien's description it doesn't soound as if a concurrent
> > > truncate is involved.
> > Daniel McNeil has a testcase that reproduces the problem - seemed
> > like a single thread thing - that's what puzzles me.
> OK. It'd be nice if we could find a solution which gets around that i_size
> access in the ISR, if someone has the time to look into it?
We hold i_alloc_sem right until dio_complete, don't we ? Is it still
a problem ?
But, I'm wondering if this solution just covers up the real reason
for the single thread problem ? We shouldn't even be issuing IOs
beyond i_size into the user-space buffer !
BTW, part of what I'd have liked in a rewrite would be to unify more of the
AIO and sync io paths, consider doing all this in task context (like in
the retry code) etc. Would reduce the number of cases to watch out for.
But that's a different matter, not for now. I agree that the buffered
vs DIO stuff in combo with AIO is what makes this really complex, so
it is a hard problem.
> To unsubscribe, send a message with 'unsubscribe linux-aio' in
> the body to majordomo@xxxxxxxxxx For more info on Linux AIO,
> see: http://www.kvack.org/aio/
> Don't email: <a href=mailto:"aart@xxxxxxxxx">aart@xxxxxxxxx</a>
Suparna Bhattacharya (suparna@xxxxxxxxxx)
Linux Technology Center
IBM Software Lab, India
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/