On Thu, Jul 29, 2021 at 05:54:56AM +0200, Andreas Gruenbacher wrote:
quoted
- /* inline data must start page aligned in the file */
- if (WARN_ON_ONCE(offset_in_page(iomap->offset)))
- return -EIO;
Maybe add a WARN_ON_ONCE(size > PAGE_SIZE - poff) here?
Sure!
quoted
if (WARN_ON_ONCE(size > PAGE_SIZE -
offset_in_page(iomap->inline_data)))
return -EIO;
if (WARN_ON_ONCE(size > iomap->length))
return -EIO;
- if (WARN_ON_ONCE(page_has_private(page)))
- return -EIO;
+ if (poff > 0)
+ iomap_page_create(inode, page);
- addr = kmap_atomic(page);
+ addr = kmap_atomic(page) + poff;
Maybe kmap_local_page?
Heh, I do that later when I convert to folios (there is no
kmap_atomic_folio(), only kmap_local_folio()). But I can throw that
in here too.