On Wed, Oct 14, 2020 at 04:03:51AM +0100, Matthew Wilcox (Oracle) wrote: > +/* > + * Estimate the number of vectors we need based on the current page size; > + * if we're wrong we'll end up doing an overly large allocation or needing > + * to do a second allocation, neither of which is a big deal. > + */ > +static unsigned int iomap_nr_vecs(struct page *page, loff_t length) > +{ > + return (length + thp_size(page) - 1) >> page_shift(page); > +} This doesn't seem iomap specific, and would seems useful also for e.g. direct I/O.