Le mardi 08 mars 2005 à 01:18 -0800, Andrew Morton a écrit : > Suparna Bhattacharya <[EMAIL PROTECTED]> wrote: > > > > ... > > > > Bugs in this area seem never-ending don't they - plug one, open up > > another - hard to be confident/verify :( - someday we'll have to > > rewrite a part of this code. > > It's solving a complex problem. Any rewrite would probably end up just as > hairy once all the new bugs and corner cases are fixed. Maybe. > > > > Hmm, shouldn't dio->result ideally have been adjusted to be within > > i_size at the time of io submission, so we don't have to deal with > > this during completion ? We are creating bios with the right size > > after all. > > > > We have this: > > if (!buffer_mapped(map_bh)) { > > .... > > if (dio->block_in_file >= > > i_size_read(dio->inode)>>blkbits) { > > /* We hit eof */ > > page_cache_release(page); > > goto out; > > } > > > > and > > dio->result += iov[seg].iov_len - > > ((dio->final_block_in_request - dio->block_in_file) << > > blkbits); > > > > > > 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.
Yes, you're right, there's no concurrent truncate here. My test case as well as Daniel's is single threaded and is the only thread accessing the file. Regards, Sébastien. -- ------------------------------------------------------ Sébastien Dugué BULL/FREC:B1-247 phone: (+33) 476 29 77 70 Bullcom: 229-7770 mailto:[EMAIL PROTECTED] Linux POSIX AIO: http://www.bullopensource.org/posix ------------------------------------------------------ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/