/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _IOMAP_INTERNAL_H #define _IOMAP_INTERNAL_H 1 #define IOEND_BATCH_SIZE 4096 /* * Normally we can build bios as big as the data structure supports. * * But for integrity protected I/O we need to respect the maximum size of the * single contiguous allocation for the integrity buffer. */ static inline size_t iomap_max_bio_size(const struct iomap *iomap) { if (iomap->flags & IOMAP_F_INTEGRITY) return max_integrity_io_size(bdev_limits(iomap->bdev)); return BIO_MAX_SIZE; } u32 iomap_finish_ioend_buffered_read(struct iomap_ioend *ioend); u32 iomap_finish_ioend_direct(struct iomap_ioend *ioend); #ifdef CONFIG_BLOCK int iomap_bio_read_folio_range_sync(const struct iomap_iter *iter, struct folio *folio, loff_t pos, size_t len); #else static inline int iomap_bio_read_folio_range_sync(const struct iomap_iter *iter, struct folio *folio, loff_t pos, size_t len) { WARN_ON_ONCE(1); return -EIO; } #endif /* CONFIG_BLOCK */ #endif /* _IOMAP_INTERNAL_H */