On Mon, Jul 28, 2025 at 03:00:40PM +0100, John Garry wrote: > On 28/07/2025 14:35, Ojaswin Mujoo wrote: > > > We guarantee that the write is committed all-or-nothing, but do rely on > > > userspace not issuing racing atomic writes or racing regular writes. > > > > > > I can easily change this, as I mentioned, but I am not convinced that it is > > > a must. > > Purely from a design point of view, I feel we are breaking atomicity and > > hence we should serialize or just stop userspace from doing this (which > > is a bit extreme). > > If you check the man page description of RWF_ATOMIC, it does not mention > serialization. The user should conclude that usual direct IO rules apply, > i.e. userspace is responsible for serializing. My mental model of serialization in context of atomic writes is that if user does 64k atomic write A followed by a parallel overlapping 64kb atomic write B then the user might see complete A or complete B (we don't guarantee) but not a mix of A and B. > > > > > I know userspace should ideally not do overwriting atomic writes but if > > it is something we are allowing (which we do) then it is > > kernel's responsibility to ensure atomicity. Sure we can penalize them > > by serializing the writes but not by tearing it. > > > > With that reasoning, I don't think the test should accomodate for this > > particular scenario. > > I can send a patch to the community for xfs (to provide serialization), like > I showed earlier, to get opinion. Thanks, that would be great. Regards, John > > Thanks, > John >