Alistair Popple wrote: > > Dan Williams <dan.j.williams@xxxxxxxxx> writes: > > [...] > > > +/** > > + * pgmap_request_folios - activate an contiguous span of folios in @pgmap > > + * @pgmap: host page map for the folio array > > + * @folio: start of the folio list, all subsequent folios have same folio_size() > > + * > > + * Caller is responsible for @pgmap remaining live for the duration of > > + * this call. Caller is also responsible for not racing requests for the > > + * same folios. > > + */ > > +bool pgmap_request_folios(struct dev_pagemap *pgmap, struct folio *folio, > > + int nr_folios) > > All callers of pgmap_request_folios() I could see call this with > nr_folios == 1 and pgmap == folio_pgmap(folio). Could we remove the > redundant arguments and simplify it to > pgmap_request_folios(struct folio *folio)? The rationale for the @pgmap argument being separate is to make clear that the caller must assert that pgmap is alive before passing it to pgmap_request_folios(), and that @pgmap is constant for the span of folios requested. However, I see your point that these arguments are redundant so I would not be opposed to a helper like: pgmap_request_folio(struct folio *folio) ...that documents that it pulls the pgmap from the folio and because of that does not support requesting more than one folio.