From: Arnd Bergmann <arnd@xxxxxxxx> When block device support is disabled, DAX fails to link with: aarch64-linux/bin/aarch64-linux-ld: fs/dax.o: in function `dax_file_unshare': dax.c:(.text+0x2694): undefined reference to `iomap_want_unshare_iter' Return false in this case, as far as I can tell, this cannot happen without block devices. Fixes: 6ef6a0e821d3 ("iomap: share iomap_unshare_iter predicate code with fsdax") Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> --- include/linux/iomap.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/include/linux/iomap.h b/include/linux/iomap.h index e04c060e8fe1..84ec2b7419c5 100644 --- a/include/linux/iomap.h +++ b/include/linux/iomap.h @@ -281,7 +281,14 @@ void iomap_invalidate_folio(struct folio *folio, size_t offset, size_t len); bool iomap_dirty_folio(struct address_space *mapping, struct folio *folio); int iomap_file_unshare(struct inode *inode, loff_t pos, loff_t len, const struct iomap_ops *ops); +#ifdef CONFIG_BLOCK bool iomap_want_unshare_iter(const struct iomap_iter *iter); +#else +static inline bool iomap_want_unshare_iter(const struct iomap_iter *iter) +{ + return false; +} +#endif int iomap_zero_range(struct inode *inode, loff_t pos, loff_t len, bool *did_zero, const struct iomap_ops *ops); int iomap_truncate_page(struct inode *inode, loff_t pos, bool *did_zero, -- 2.39.5