f2fs: convert f2fs_handle_page_eio() to use folio
authorChao Yu <chao@kernel.org>
Tue, 13 Aug 2024 14:13:31 +0000 (22:13 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Fri, 6 Sep 2024 23:04:47 +0000 (23:04 +0000)
Convert to use folio, so that we can get rid of 'page->index' to
prepare for removal of 'index' field in structure page [1].

[1] https://lore.kernel.org/all/Zp8fgUSIBGQ1TN0D@casper.infradead.org/

Cc: Matthew Wilcox <willy@infradead.org>
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/checkpoint.c
fs/f2fs/f2fs.h
fs/f2fs/node.c

index ffaf295a198aed6dbfa098894463d7f06dac7cf6..7f76460b721f2c672caefa7f2f186099fede0018 100644 (file)
@@ -99,7 +99,7 @@ repeat:
        }
 
        if (unlikely(!PageUptodate(page))) {
-               f2fs_handle_page_eio(sbi, page->index, META);
+               f2fs_handle_page_eio(sbi, page_folio(page), META);
                f2fs_put_page(page, 1);
                return ERR_PTR(-EIO);
        }
index 2c1664f951e968a99767d756c98d8638a86bdc2c..460c05191c286b3b7cf1949b082a686f6c37d935 100644 (file)
@@ -4678,9 +4678,11 @@ static inline void f2fs_io_schedule_timeout(long timeout)
        io_schedule_timeout(timeout);
 }
 
-static inline void f2fs_handle_page_eio(struct f2fs_sb_info *sbi, pgoff_t ofs,
-                                       enum page_type type)
+static inline void f2fs_handle_page_eio(struct f2fs_sb_info *sbi,
+                               struct folio *folio, enum page_type type)
 {
+       pgoff_t ofs = folio->index;
+
        if (unlikely(f2fs_cp_error(sbi)))
                return;
 
index 2b764c86aacc7110c793edcfce8adf47d2924456..7beaa3690e035d5d1543930cd90f292725f85253 100644 (file)
@@ -1492,7 +1492,7 @@ out_err:
 out_put_err:
        /* ENOENT comes from read_node_page which is not an error. */
        if (err != -ENOENT)
-               f2fs_handle_page_eio(sbi, page->index, NODE);
+               f2fs_handle_page_eio(sbi, page_folio(page), NODE);
        f2fs_put_page(page, 1);
        return ERR_PTR(err);
 }