On Mon, Jun 04, 2018 at 02:37:29PM +0200, Andreas Gruenbacher wrote: > We need access to the struct iomap_ops in iomap_write_end to call the > (optional) page_write_end hook, so instead of passing the operators to > iomap_write_end differently depending on the code path, add an ops field > to struct iomap. I don't really like this. We already pass the iomap_ops to the function we call from iomap.c, and in fact ->iomap_begin is called through the ops. But what we could do is to move the page_write_end callback out of iomap_ops and just attached it to the iomap, especially given that it isn't really as generic as the other ops. Can't say I like the implications of this callback in general, but the use case is real, so..