udf: Convert adinicb and symlinks to read_folio
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Fri, 29 Apr 2022 15:12:16 +0000 (11:12 -0400)
committerMatthew Wilcox (Oracle) <willy@infradead.org>
Mon, 9 May 2022 20:21:46 +0000 (16:21 -0400)
This is a "weak" conversion which converts straight back to using pages.
A full conversion should be performed at some point, hopefully by
someone familiar with the filesystem.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
fs/udf/file.c
fs/udf/symlink.c

index 3f4d5c44c784975f69f0d763879f4c1ea7ed6f41..09aef77269fe4625b48aa558581f518ba93ab12a 100644 (file)
@@ -57,11 +57,11 @@ static void __udf_adinicb_readpage(struct page *page)
        kunmap_atomic(kaddr);
 }
 
-static int udf_adinicb_readpage(struct file *file, struct page *page)
+static int udf_adinicb_read_folio(struct file *file, struct folio *folio)
 {
-       BUG_ON(!PageLocked(page));
-       __udf_adinicb_readpage(page);
-       unlock_page(page);
+       BUG_ON(!folio_test_locked(folio));
+       __udf_adinicb_readpage(&folio->page);
+       folio_unlock(folio);
 
        return 0;
 }
@@ -127,7 +127,7 @@ static int udf_adinicb_write_end(struct file *file, struct address_space *mappin
 const struct address_space_operations udf_adinicb_aops = {
        .dirty_folio    = block_dirty_folio,
        .invalidate_folio = block_invalidate_folio,
-       .readpage       = udf_adinicb_readpage,
+       .read_folio     = udf_adinicb_read_folio,
        .writepage      = udf_adinicb_writepage,
        .write_begin    = udf_adinicb_write_begin,
        .write_end      = udf_adinicb_write_end,
index 9b223421a3c551728bb0fdbb7ea561907a6c6510..f3642f9c23f86bae15f4bdc175ff5a4125624ac4 100644 (file)
@@ -101,8 +101,9 @@ static int udf_pc_to_char(struct super_block *sb, unsigned char *from,
        return 0;
 }
 
-static int udf_symlink_filler(struct file *file, struct page *page)
+static int udf_symlink_filler(struct file *file, struct folio *folio)
 {
+       struct page *page = &folio->page;
        struct inode *inode = page->mapping->host;
        struct buffer_head *bh = NULL;
        unsigned char *symlink;
@@ -183,7 +184,7 @@ static int udf_symlink_getattr(struct user_namespace *mnt_userns,
  * symlinks can't do much...
  */
 const struct address_space_operations udf_symlink_aops = {
-       .readpage               = udf_symlink_filler,
+       .read_folio             = udf_symlink_filler,
 };
 
 const struct inode_operations udf_symlink_inode_operations = {