@@ -81,19 +81,19 @@ ext2_last_byte(struct inode *inode, unsigned long page_nr)
8181 return last_byte ;
8282}
8383
84- static void ext2_commit_chunk (struct page * page , loff_t pos , unsigned len )
84+ static void ext2_commit_chunk (struct folio * folio , loff_t pos , unsigned len )
8585{
86- struct address_space * mapping = page -> mapping ;
86+ struct address_space * mapping = folio -> mapping ;
8787 struct inode * dir = mapping -> host ;
8888
8989 inode_inc_iversion (dir );
90- block_write_end (NULL , mapping , pos , len , len , page , NULL );
90+ block_write_end (NULL , mapping , pos , len , len , & folio -> page , NULL );
9191
9292 if (pos + len > dir -> i_size ) {
9393 i_size_write (dir , pos + len );
9494 mark_inode_dirty (dir );
9595 }
96- unlock_page ( page );
96+ folio_unlock ( folio );
9797}
9898
9999static bool ext2_check_folio (struct folio * folio , int quiet , char * kaddr )
@@ -433,12 +433,11 @@ int ext2_inode_by_name(struct inode *dir, const struct qstr *child, ino_t *ino)
433433 return 0 ;
434434}
435435
436- static int ext2_prepare_chunk (struct page * page , loff_t pos , unsigned len )
436+ static int ext2_prepare_chunk (struct folio * folio , loff_t pos , unsigned len )
437437{
438- return __block_write_begin (page , pos , len , ext2_get_block );
438+ return __block_write_begin (& folio -> page , pos , len , ext2_get_block );
439439}
440440
441-
442441static int ext2_handle_dirsync (struct inode * dir )
443442{
444443 int err ;
@@ -457,14 +456,14 @@ int ext2_set_link(struct inode *dir, struct ext2_dir_entry_2 *de,
457456 int err ;
458457
459458 folio_lock (folio );
460- err = ext2_prepare_chunk (& folio -> page , pos , len );
459+ err = ext2_prepare_chunk (folio , pos , len );
461460 if (err ) {
462461 folio_unlock (folio );
463462 return err ;
464463 }
465464 de -> inode = cpu_to_le32 (inode -> i_ino );
466465 ext2_set_de_type (de , inode );
467- ext2_commit_chunk (& folio -> page , pos , len );
466+ ext2_commit_chunk (folio , pos , len );
468467 if (update_times )
469468 dir -> i_mtime = inode_set_ctime_current (dir );
470469 EXT2_I (dir )-> i_flags &= ~EXT2_BTREE_FL ;
@@ -539,7 +538,7 @@ int ext2_add_link (struct dentry *dentry, struct inode *inode)
539538
540539got_it :
541540 pos = folio_pos (folio ) + offset_in_folio (folio , de );
542- err = ext2_prepare_chunk (& folio -> page , pos , rec_len );
541+ err = ext2_prepare_chunk (folio , pos , rec_len );
543542 if (err )
544543 goto out_unlock ;
545544 if (de -> inode ) {
@@ -552,7 +551,7 @@ int ext2_add_link (struct dentry *dentry, struct inode *inode)
552551 memcpy (de -> name , name , namelen );
553552 de -> inode = cpu_to_le32 (inode -> i_ino );
554553 ext2_set_de_type (de , inode );
555- ext2_commit_chunk (& folio -> page , pos , rec_len );
554+ ext2_commit_chunk (folio , pos , rec_len );
556555 dir -> i_mtime = inode_set_ctime_current (dir );
557556 EXT2_I (dir )-> i_flags &= ~EXT2_BTREE_FL ;
558557 mark_inode_dirty (dir );
@@ -598,15 +597,15 @@ int ext2_delete_entry(struct ext2_dir_entry_2 *dir, struct folio *folio)
598597 from = offset_in_folio (folio , pde );
599598 pos = folio_pos (folio ) + from ;
600599 folio_lock (folio );
601- err = ext2_prepare_chunk (& folio -> page , pos , to - from );
600+ err = ext2_prepare_chunk (folio , pos , to - from );
602601 if (err ) {
603602 folio_unlock (folio );
604603 return err ;
605604 }
606605 if (pde )
607606 pde -> rec_len = ext2_rec_len_to_disk (to - from );
608607 dir -> inode = 0 ;
609- ext2_commit_chunk (& folio -> page , pos , to - from );
608+ ext2_commit_chunk (folio , pos , to - from );
610609 inode -> i_mtime = inode_set_ctime_current (inode );
611610 EXT2_I (inode )-> i_flags &= ~EXT2_BTREE_FL ;
612611 mark_inode_dirty (inode );
@@ -627,7 +626,7 @@ int ext2_make_empty(struct inode *inode, struct inode *parent)
627626 if (IS_ERR (folio ))
628627 return PTR_ERR (folio );
629628
630- err = ext2_prepare_chunk (& folio -> page , 0 , chunk_size );
629+ err = ext2_prepare_chunk (folio , 0 , chunk_size );
631630 if (err ) {
632631 folio_unlock (folio );
633632 goto fail ;
@@ -648,7 +647,7 @@ int ext2_make_empty(struct inode *inode, struct inode *parent)
648647 memcpy (de -> name , "..\0" , 4 );
649648 ext2_set_de_type (de , inode );
650649 kunmap_local (kaddr );
651- ext2_commit_chunk (& folio -> page , 0 , chunk_size );
650+ ext2_commit_chunk (folio , 0 , chunk_size );
652651 err = ext2_handle_dirsync (inode );
653652fail :
654653 folio_put (folio );
0 commit comments