]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
squashfs: pass the inode to squashfs_readahead_fragment()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Thu, 12 Jun 2025 14:39:00 +0000 (15:39 +0100)
committerAndrew Morton <akpm@linux-foundation.org>
Thu, 10 Jul 2025 05:57:50 +0000 (22:57 -0700)
Patch series "squashfs: Remove page->mapping references".

We're close to being able to kill page->mapping.  These two patches get us
a little bit closer.

This patch (of 2):

Eliminate a reference to page->mapping by passing the inode from the
caller.

Link: https://lkml.kernel.org/r/20250612143903.2849289-1-willy@infradead.org
Link: https://lkml.kernel.org/r/20250612143903.2849289-2-willy@infradead.org
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Phillip Lougher <phillip@squashfs.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/squashfs/file.c

index 5ca2baa16dc25dc10c3a69bb0de82956a222e062..ce7d661d5ad86638da6fd31f817f2784cdc4f95e 100644 (file)
@@ -493,10 +493,9 @@ out:
        return res;
 }
 
-static int squashfs_readahead_fragment(struct page **page,
+static int squashfs_readahead_fragment(struct inode *inode, struct page **page,
        unsigned int pages, unsigned int expected, loff_t start)
 {
-       struct inode *inode = page[0]->mapping->host;
        struct squashfs_cache_entry *buffer = squashfs_get_fragment(inode->i_sb,
                squashfs_i(inode)->fragment_block,
                squashfs_i(inode)->fragment_size);
@@ -605,8 +604,8 @@ static void squashfs_readahead(struct readahead_control *ractl)
 
                if (start >> msblk->block_log == file_end &&
                                squashfs_i(inode)->fragment_block != SQUASHFS_INVALID_BLK) {
-                       res = squashfs_readahead_fragment(pages, nr_pages,
-                                                         expected, start);
+                       res = squashfs_readahead_fragment(inode, pages,
+                                       nr_pages, expected, start);
                        if (res)
                                goto skip_pages;
                        continue;