]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
f2fs: Use a folio in f2fs_write_compressed_pages()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Thu, 28 Nov 2024 04:58:19 +0000 (04:58 +0000)
committerJaegeuk Kim <jaegeuk@kernel.org>
Mon, 16 Dec 2024 16:12:04 +0000 (16:12 +0000)
Remove accesses to page->index and an unnecessary reference to
page->mapping.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/compress.c

index 494baa1e8bd3ddc633fb766bc06b3be728e7e4e6..0b55b2695c9bad74380bb06607696f63cc334043 100644 (file)
@@ -1282,6 +1282,7 @@ static int f2fs_write_compressed_pages(struct compress_ctx *cc,
                .encrypted = fscrypt_inode_uses_fs_layer_crypto(cc->inode) ?
                                                                        1 : 0,
        };
+       struct folio *folio;
        struct dnode_of_data dn;
        struct node_info ni;
        struct compress_io_ctx *cic;
@@ -1293,7 +1294,7 @@ static int f2fs_write_compressed_pages(struct compress_ctx *cc,
 
        /* we should bypass data pages to proceed the kworker jobs */
        if (unlikely(f2fs_cp_error(sbi))) {
-               mapping_set_error(cc->rpages[0]->mapping, -EIO);
+               mapping_set_error(inode->i_mapping, -EIO);
                goto out_free;
        }
 
@@ -1320,7 +1321,8 @@ static int f2fs_write_compressed_pages(struct compress_ctx *cc,
                        goto out_put_dnode;
        }
 
-       psize = (loff_t)(cc->rpages[last_index]->index + 1) << PAGE_SHIFT;
+       folio = page_folio(cc->rpages[last_index]);
+       psize = folio_pos(folio) + folio_size(folio);
 
        err = f2fs_get_node_info(fio.sbi, dn.nid, &ni, false);
        if (err)
@@ -1343,7 +1345,7 @@ static int f2fs_write_compressed_pages(struct compress_ctx *cc,
 
        for (i = 0; i < cc->valid_nr_cpages; i++) {
                f2fs_set_compressed_page(cc->cpages[i], inode,
-                                       cc->rpages[i + 1]->index, cic);
+                               page_folio(cc->rpages[i + 1])->index, cic);
                fio.compressed_page = cc->cpages[i];
 
                fio.old_blkaddr = data_blkaddr(dn.inode, dn.node_page,