From: Goldwyn Rodrigues <rgold...@suse.com>

btrfs uses page->private as well to store extent_buffer. Make
the check stricter to make sure we are using page->private for iop by
comparing iblocksize < PAGE_SIZE.

Signed-off-by: Goldwyn Rodrigues <rgold...@suse.com>
---
 include/linux/iomap.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/include/linux/iomap.h b/include/linux/iomap.h
index f49767c7fd83..6511124e58b6 100644
--- a/include/linux/iomap.h
+++ b/include/linux/iomap.h
@@ -128,7 +128,8 @@ struct iomap_page {
 
 static inline struct iomap_page *to_iomap_page(struct page *page)
 {
-       if (page_has_private(page))
+       if (i_blocksize(page->mapping->host) < PAGE_SIZE &&
+                       page_has_private(page))
                return (struct iomap_page *)page_private(page);
        return NULL;
 }
-- 
2.16.4

Reply via email to