On Wed, Mar 30, 2011 at 02:49:58PM -0700, Mingming Cao wrote: > > Direct IO semantics have always been that the application is allowed > > to overlap IO to the same range if it wants to. The result is > > undefined (just like issuing overlapping reads and writes to a disk > > at the same time) so it's the application's responsibility to avoid > > overlapping IO if it is a problem. > > I was thinking along the line to provide finer granularity lock to allow > concurrent direct IO to different offset/range, but to same offset, they > have to be serialized. If it's undefined behavior, i.e. overlapping is > allowed, then concurrent dio implementation is much easier. But not sure > if any apps currently using DIO aware of the ordering has to be done at > the application level. Yes, they're aware of it. And they consider it a bug if they ever do concurrent I/O to the same sector. -- Matthew Wilcox Intel Open Source Technology Centre "Bill, look, we understand that you're interested in selling us this operating system, but compare it to ours. We can't possibly take such a retrograde step." -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel