On Wed, Aug 28, 2024 at 06:49:29AM +0200, Christoph Hellwig wrote: > On Tue, Aug 27, 2024 at 09:21:49AM -0700, Darrick J. Wong wrote: > > > For writes it usually means out of place write, but for reporting > > > it gets translated to the FIEMAP_EXTENT_SHARED flag or is used to > > > reject swapon. And the there is black magic in DAX. > > > > Hee hee. Yeah, let's leave IOMAP_F_SHARED alone; an out of place write > > can be detected by iter->srcmap.type != HOLE. out of place write => "OOP" but that acronym is already taken static inline bool iomap_write_oops(const struct iomap_iter *i) { /* ... i wrote it again */ return i->srcmap.type != HOLE; } <with apologies to the artist I just insulted> jk > I can probably come up with a comment that includes the COWextsize hints > in the definition of out of place writes and we should be all fine.. Sounds good to me. --D