@@ -168,25 +168,27 @@ mext_folio_double_lock(struct inode *inode1, struct inode *inode2,
168168
169169/* Force page buffers uptodate w/o dropping page's lock */
170170static int
171- mext_page_mkuptodate (struct page * page , unsigned from , unsigned to )
171+ mext_page_mkuptodate (struct folio * folio , unsigned from , unsigned to )
172172{
173- struct inode * inode = page -> mapping -> host ;
173+ struct inode * inode = folio -> mapping -> host ;
174174 sector_t block ;
175175 struct buffer_head * bh , * head , * arr [MAX_BUF_PER_PAGE ];
176176 unsigned int blocksize , block_start , block_end ;
177177 int i , err , nr = 0 , partial = 0 ;
178- BUG_ON (!PageLocked ( page ));
179- BUG_ON (PageWriteback ( page ));
178+ BUG_ON (!folio_test_locked ( folio ));
179+ BUG_ON (folio_test_writeback ( folio ));
180180
181- if (PageUptodate ( page ))
181+ if (folio_test_uptodate ( folio ))
182182 return 0 ;
183183
184184 blocksize = i_blocksize (inode );
185- if (!page_has_buffers (page ))
186- create_empty_buffers (page , blocksize , 0 );
185+ head = folio_buffers (folio );
186+ if (!head ) {
187+ create_empty_buffers (& folio -> page , blocksize , 0 );
188+ head = folio_buffers (folio );
189+ }
187190
188- head = page_buffers (page );
189- block = (sector_t )page -> index << (PAGE_SHIFT - inode -> i_blkbits );
191+ block = (sector_t )folio -> index << (PAGE_SHIFT - inode -> i_blkbits );
190192 for (bh = head , block_start = 0 ; bh != head || !block_start ;
191193 block ++ , block_start = block_end , bh = bh -> b_this_page ) {
192194 block_end = block_start + blocksize ;
@@ -200,11 +202,11 @@ mext_page_mkuptodate(struct page *page, unsigned from, unsigned to)
200202 if (!buffer_mapped (bh )) {
201203 err = ext4_get_block (inode , block , bh , 0 );
202204 if (err ) {
203- SetPageError ( page );
205+ folio_set_error ( folio );
204206 return err ;
205207 }
206208 if (!buffer_mapped (bh )) {
207- zero_user ( page , block_start , blocksize );
209+ folio_zero_range ( folio , block_start , blocksize );
208210 set_buffer_uptodate (bh );
209211 continue ;
210212 }
@@ -226,7 +228,7 @@ mext_page_mkuptodate(struct page *page, unsigned from, unsigned to)
226228 }
227229out :
228230 if (!partial )
229- SetPageUptodate ( page );
231+ folio_mark_uptodate ( folio );
230232 return 0 ;
231233}
232234
@@ -354,7 +356,7 @@ move_extent_per_page(struct file *o_filp, struct inode *donor_inode,
354356 goto unlock_folios ;
355357 }
356358data_copy :
357- * err = mext_page_mkuptodate (& folio [0 ]-> page , from , from + replaced_size );
359+ * err = mext_page_mkuptodate (folio [0 ], from , from + replaced_size );
358360 if (* err )
359361 goto unlock_folios ;
360362
0 commit comments