Re: [PATCH 02/10] iomap: improve shared block detection in iomap_unshare_iter

Darrick J. Wong
2024-08-28T16:17:06Z

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