include/linux/iomap.h | 7 +++++++ 1 file changed, 7 insertions(+)
From: Arnd Bergmann <arnd@arndb.de>
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@arndb.de>
---
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
Arnd Bergmann <arnd@kernel.org> writes: > From: Arnd Bergmann <arnd@arndb.de> > > 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@arndb.de> Looks like a fix was submitted already for this [1] [1]: https://lore.kernel.org/all/20241015041350.118403-1-hch@lst.de/ -ritesh > --- > 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
© 2016 - 2024 Red Hat, Inc.