f2fs: Convert set_page_private_data() to folio_set_f2fs_data()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Tue, 8 Jul 2025 17:03:37 +0000 (18:03 +0100)
committerJaegeuk Kim <jaegeuk@kernel.org>
Tue, 22 Jul 2025 15:57:12 +0000 (15:57 +0000)
The only caller has a folio, so pass it in and operate on it.

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
fs/f2fs/f2fs.h

index 5be1a4396f808d74d7c4217b3da2b1ec991cbca4..d7346c1fcd62560f902344b2d05b1c6d0e9a0803 100644 (file)
@@ -1953,7 +1953,7 @@ void f2fs_cache_compressed_page(struct f2fs_sb_info *sbi, struct page *page,
                return;
        }
 
-       set_page_private_data(&cfolio->page, ino);
+       folio_set_f2fs_data(cfolio, ino);
 
        memcpy(folio_address(cfolio), page_address(page), PAGE_SIZE);
        folio_mark_uptodate(cfolio);
index be9b7a0120a9cd851dd7615e01c476fc93811991..ffb80b9756a583a985517e7425303d9050c3f8be 100644 (file)
@@ -2537,12 +2537,14 @@ static inline unsigned long get_page_private_data(struct page *page)
        return data >> PAGE_PRIVATE_MAX;
 }
 
-static inline void set_page_private_data(struct page *page, unsigned long data)
+static inline void folio_set_f2fs_data(struct folio *folio, unsigned long data)
 {
-       if (!PagePrivate(page))
-               attach_page_private(page, (void *)0);
-       set_bit(PAGE_PRIVATE_NOT_POINTER, &page_private(page));
-       page_private(page) |= data << PAGE_PRIVATE_MAX;
+       data = (1UL << PAGE_PRIVATE_NOT_POINTER) | (data << PAGE_PRIVATE_MAX);
+
+       if (!folio_test_private(folio))
+               folio_attach_private(folio, (void *)data);
+       else
+               folio->private = (void *)((unsigned long)folio->private | data);
 }
 
 static inline void clear_page_private_data(struct page *page)