On Wed, Dec 11, 2024 at 10:26:41PM -0800, Darrick J. Wong wrote: > > iomap.flags and the IOMAP_F_* namespace is used to communicate flags > > from the file system to the iomap core, so this looks wrong. > > Not entirely true -- IOMAP_F_SIZE_CHANGED is used to communicate state > from iomap to gfs2, and IOMAP_F_STALE is set/checked only by the iomap > core. iomap.h even says as much. Indeed, some of the non-initial additions already broke this. And now that you mentioned it I ran into that before because it was in the way of some further constifycation I attempted in fs/iomap/. > Though given that there's a 4-byte gap in struct iomap between flags and > the bdev pointer (at least on 64-bit) maybe we should make a separate > field for these iomap state bits? Probably. Preferably in a way that isn't too painful for Jens, though.