On Sun, May 01, 2016 at 10:28:54AM -0700, Christoph Hellwig wrote: > On Fri, Apr 29, 2016 at 12:38:20PM -0400, Waiman Long wrote: > > From my testing, it looked like that parallel overwrites to the same file in > > an ext4 filesystem on DAX can happen in parallel even if their range > > overlaps. It was mainly because the code will drop the i_mutex before the > > write. That means the overlapped blocks can get garbage. I think this is a > > problem, but I am not expert in the ext4 filesystem to say for sure. I would > > like to know your thought on that. > > That's another issue with dax I/O pretending to be direct I/O.. Because > it isn't we'll need to synchronize it like buffered I/O and not like > direct I/O in all file systems. We did this intentionally. DAX IO needs to have the same parallel write semantics of direct IO, because otherwise a single writer prevents any IO concurrency and that's a bigger problem for DAX that traditional storage due to the access speed and bandwidth available. This was always intended to be fixed by the introduction of proper range locking for IO, not by reverting to total exclusion for write IOs. Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html