On Tue 02-01-18 12:21:28, Dan Williams wrote: > >> +EXPORT_SYMBOL(dax_set_page_dirty); > >> +EXPORT_SYMBOL(dax_direct_IO); > >> +EXPORT_SYMBOL(dax_writepage); > >> +EXPORT_SYMBOL(dax_readpage); > >> +EXPORT_SYMBOL(dax_readpages); > >> +EXPORT_SYMBOL(dax_write_begin); > >> +EXPORT_SYMBOL(dax_write_end); > >> +EXPORT_SYMBOL(dax_invalidatepage); > > > > Exporting all these symbols to modules isn't exactly free. Are you sure it > > doesn't make more sense to put tests for dax in the existing aops? > > > > I'd rather have just one global fs_dax_aops instance that all > filesystems could reference, but ->writepages() is fundamentally an > address_space_operation. Until we can rework that I'd prefer the > overhead of the extra exports than sprinkling more IS_DAX checks > around. Just for record I agree with what Dave said about this patch. Generic address_space_operations are not how aops are commonly defined by filesystems. Just create one structure for each fs as Dave suggested. Honza -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR