On Tue, Nov 09, 2021 at 09:33:07AM +0100, Christoph Hellwig wrote: > The DAX device <-> block device association is only enabled if > CONFIG_BLOCK is enabled. Update dax.h to account for that and use > the right conditions for the fs_put_dax stub as well. > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> Looks ok, Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx> --D > --- > include/linux/dax.h | 41 ++++++++++++++++++++--------------------- > 1 file changed, 20 insertions(+), 21 deletions(-) > > diff --git a/include/linux/dax.h b/include/linux/dax.h > index 90f95deff504d..5568d3dca941b 100644 > --- a/include/linux/dax.h > +++ b/include/linux/dax.h > @@ -108,28 +108,15 @@ static inline bool daxdev_mapping_supported(struct vm_area_struct *vma, > #endif > > struct writeback_control; > -#if IS_ENABLED(CONFIG_FS_DAX) > +#if defined(CONFIG_BLOCK) && defined(CONFIG_FS_DAX) > int dax_add_host(struct dax_device *dax_dev, struct gendisk *disk); > void dax_remove_host(struct gendisk *disk); > - > +struct dax_device *fs_dax_get_by_bdev(struct block_device *bdev, > + u64 *start_off); > static inline void fs_put_dax(struct dax_device *dax_dev) > { > put_dax(dax_dev); > } > - > -struct dax_device *fs_dax_get_by_bdev(struct block_device *bdev, > - u64 *start_off); > -int dax_writeback_mapping_range(struct address_space *mapping, > - struct dax_device *dax_dev, struct writeback_control *wbc); > - > -struct page *dax_layout_busy_page(struct address_space *mapping); > -struct page *dax_layout_busy_page_range(struct address_space *mapping, loff_t start, loff_t end); > -dax_entry_t dax_lock_page(struct page *page); > -void dax_unlock_page(struct page *page, dax_entry_t cookie); > -int dax_zero_range(struct inode *inode, loff_t pos, loff_t len, bool *did_zero, > - const struct iomap_ops *ops); > -int dax_truncate_page(struct inode *inode, loff_t pos, bool *did_zero, > - const struct iomap_ops *ops); > #else > static inline int dax_add_host(struct dax_device *dax_dev, struct gendisk *disk) > { > @@ -138,17 +125,29 @@ static inline int dax_add_host(struct dax_device *dax_dev, struct gendisk *disk) > static inline void dax_remove_host(struct gendisk *disk) > { > } > - > -static inline void fs_put_dax(struct dax_device *dax_dev) > -{ > -} > - > static inline struct dax_device *fs_dax_get_by_bdev(struct block_device *bdev, > u64 *start_off) > { > return NULL; > } > +static inline void fs_put_dax(struct dax_device *dax_dev) > +{ > +} > +#endif /* CONFIG_BLOCK && CONFIG_FS_DAX */ > + > +#if IS_ENABLED(CONFIG_FS_DAX) > +int dax_writeback_mapping_range(struct address_space *mapping, > + struct dax_device *dax_dev, struct writeback_control *wbc); > > +struct page *dax_layout_busy_page(struct address_space *mapping); > +struct page *dax_layout_busy_page_range(struct address_space *mapping, loff_t start, loff_t end); > +dax_entry_t dax_lock_page(struct page *page); > +void dax_unlock_page(struct page *page, dax_entry_t cookie); > +int dax_zero_range(struct inode *inode, loff_t pos, loff_t len, bool *did_zero, > + const struct iomap_ops *ops); > +int dax_truncate_page(struct inode *inode, loff_t pos, bool *did_zero, > + const struct iomap_ops *ops); > +#else > static inline struct page *dax_layout_busy_page(struct address_space *mapping) > { > return NULL; > -- > 2.30.2 >