@@ -63,14 +63,15 @@ static sector_t hfsplus_bmap(struct address_space *mapping, sector_t block)
6363 return generic_block_bmap (mapping , block , hfsplus_get_block );
6464}
6565
66- static int hfsplus_releasepage (struct page * page , gfp_t mask )
66+ static bool hfsplus_release_folio (struct folio * folio , gfp_t mask )
6767{
68- struct inode * inode = page -> mapping -> host ;
68+ struct inode * inode = folio -> mapping -> host ;
6969 struct super_block * sb = inode -> i_sb ;
7070 struct hfs_btree * tree ;
7171 struct hfs_bnode * node ;
7272 u32 nidx ;
73- int i , res = 1 ;
73+ int i ;
74+ bool res = true;
7475
7576 switch (inode -> i_ino ) {
7677 case HFSPLUS_EXT_CNID :
@@ -84,26 +85,26 @@ static int hfsplus_releasepage(struct page *page, gfp_t mask)
8485 break ;
8586 default :
8687 BUG ();
87- return 0 ;
88+ return false ;
8889 }
8990 if (!tree )
90- return 0 ;
91+ return false ;
9192 if (tree -> node_size >= PAGE_SIZE ) {
92- nidx = page -> index >>
93+ nidx = folio -> index >>
9394 (tree -> node_size_shift - PAGE_SHIFT );
9495 spin_lock (& tree -> hash_lock );
9596 node = hfs_bnode_findhash (tree , nidx );
9697 if (!node )
9798 ;
9899 else if (atomic_read (& node -> refcnt ))
99- res = 0 ;
100+ res = false ;
100101 if (res && node ) {
101102 hfs_bnode_unhash (node );
102103 hfs_bnode_free (node );
103104 }
104105 spin_unlock (& tree -> hash_lock );
105106 } else {
106- nidx = page -> index <<
107+ nidx = folio -> index <<
107108 (PAGE_SHIFT - tree -> node_size_shift );
108109 i = 1 << (PAGE_SHIFT - tree -> node_size_shift );
109110 spin_lock (& tree -> hash_lock );
@@ -112,15 +113,15 @@ static int hfsplus_releasepage(struct page *page, gfp_t mask)
112113 if (!node )
113114 continue ;
114115 if (atomic_read (& node -> refcnt )) {
115- res = 0 ;
116+ res = false ;
116117 break ;
117118 }
118119 hfs_bnode_unhash (node );
119120 hfs_bnode_free (node );
120121 } while (-- i && nidx < tree -> node_count );
121122 spin_unlock (& tree -> hash_lock );
122123 }
123- return res ? try_to_free_buffers (page ) : 0 ;
124+ return res ? try_to_free_buffers (& folio -> page ) : false ;
124125}
125126
126127static ssize_t hfsplus_direct_IO (struct kiocb * iocb , struct iov_iter * iter )
@@ -162,7 +163,7 @@ const struct address_space_operations hfsplus_btree_aops = {
162163 .write_begin = hfsplus_write_begin ,
163164 .write_end = generic_write_end ,
164165 .bmap = hfsplus_bmap ,
165- .releasepage = hfsplus_releasepage ,
166+ .release_folio = hfsplus_release_folio ,
166167};
167168
168169const struct address_space_operations hfsplus_aops = {
0 commit comments