Thread (4 messages) 4 messages, 3 authors, 2021-07-29

Re: [PATCH v2] iomap: Support inline data with block size < page size

From: Matthew Wilcox <willy@infradead.org>
Date: 2021-07-29 12:44:32
Also in: linux-fsdevel

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help