Messages in this thread | | | Date | Tue, 20 Feb 2007 11:06:15 -0500 | From | Benjamin LaHaise <> | Subject | Re: [PATCH] aio: propogate post-EIOCBQUEUED errors to completion event |
| |
On Tue, Feb 20, 2007 at 11:01:50AM -0500, Trond Myklebust wrote: > We don't try to resolve "conflicting" writes between ordinary mmap() and > write(), so why should we be doing it for mmap and O_DIRECT?
Yes we do -- both writes will succeed. More importantly, if one modifies the first 512 bytes of a page and the other modifies the last 512 bytes of the page, both writes will show up in the completed result. This is not the case with the -EIO bailout.
> mmap() is designed to violate the ordinary mutex locks for write(), so > if a conflict arises, whether it be with O_DIRECT or ordinary writes > then it is a case of "last writer wins".
Except that we're not handling cases like the one mentioned above, which is quite broken.
-ben -- "Time is of no importance, Mr. President, only life is important." Don't Email: <dont@kvack.org>. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |