On Tue, Jun 15, 2021 at 05:23:39PM +0100, Matthew Wilcox (Oracle) wrote: > The only difference between iomap_set_page_dirty() and > __set_page_dirty_nobuffers() is that the latter includes a debugging > check that a !Uptodate page has private data. > > Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> > --- > fs/gfs2/aops.c | 2 +- > fs/iomap/buffered-io.c | 27 +-------------------------- > fs/xfs/xfs_aops.c | 2 +- > fs/zonefs/super.c | 2 +- > include/linux/iomap.h | 1 - > 5 files changed, 4 insertions(+), 30 deletions(-) > > diff --git a/fs/gfs2/aops.c b/fs/gfs2/aops.c > index 50dd1771d00c..746b78c3a91d 100644 > --- a/fs/gfs2/aops.c > +++ b/fs/gfs2/aops.c > @@ -784,7 +784,7 @@ static const struct address_space_operations gfs2_aops = { > .writepages = gfs2_writepages, > .readpage = gfs2_readpage, > .readahead = gfs2_readahead, > - .set_page_dirty = iomap_set_page_dirty, > + .set_page_dirty = __set_page_dirty_nobuffers, Using __ functions in structures in different modules feels odd to me. Why not just have iomap_set_page_dirty be a #define to this function now if you want to do this? Or take the __ off of the function name? Anyway, logic here is fine, but feels odd. greg k-h