@@ -742,17 +742,16 @@ static void fuse_aio_complete(struct fuse_io_priv *io, int err, ssize_t pos)
742742 kref_put (& io -> refcnt , fuse_io_release );
743743}
744744
745- static struct fuse_io_args * fuse_io_folios_alloc (struct fuse_io_priv * io ,
745+ static struct fuse_io_args * fuse_io_alloc (struct fuse_io_priv * io ,
746746 unsigned int nfolios )
747747{
748748 struct fuse_io_args * ia ;
749749
750750 ia = kzalloc (sizeof (* ia ), GFP_KERNEL );
751751 if (ia ) {
752752 ia -> io = io ;
753- ia -> ap .uses_folios = true;
754753 ia -> ap .folios = fuse_folios_alloc (nfolios , GFP_KERNEL ,
755- & ia -> ap .folio_descs );
754+ & ia -> ap .descs );
756755 if (!ia -> ap .folios ) {
757756 kfree (ia );
758757 ia = NULL ;
@@ -761,7 +760,7 @@ static struct fuse_io_args *fuse_io_folios_alloc(struct fuse_io_priv *io,
761760 return ia ;
762761}
763762
764- static void fuse_io_folios_free (struct fuse_io_args * ia )
763+ static void fuse_io_free (struct fuse_io_args * ia )
765764{
766765 kfree (ia -> ap .folios );
767766 kfree (ia );
@@ -797,7 +796,7 @@ static void fuse_aio_complete_req(struct fuse_mount *fm, struct fuse_args *args,
797796 fuse_release_user_pages (& ia -> ap , err ?: nres , io -> should_dirty );
798797
799798 fuse_aio_complete (io , err , pos );
800- fuse_io_folios_free (ia );
799+ fuse_io_free (ia );
801800}
802801
803802static ssize_t fuse_async_req_send (struct fuse_mount * fm ,
@@ -880,10 +879,9 @@ static int fuse_do_readfolio(struct file *file, struct folio *folio)
880879 struct fuse_io_args ia = {
881880 .ap .args .page_zeroing = true,
882881 .ap .args .out_pages = true,
883- .ap .uses_folios = true,
884882 .ap .num_folios = 1 ,
885883 .ap .folios = & folio ,
886- .ap .folio_descs = & desc ,
884+ .ap .descs = & desc ,
887885 };
888886 ssize_t res ;
889887 u64 attr_ver ;
@@ -962,7 +960,7 @@ static void fuse_readpages_end(struct fuse_mount *fm, struct fuse_args *args,
962960 if (ia -> ff )
963961 fuse_file_put (ia -> ff , false);
964962
965- fuse_io_folios_free (ia );
963+ fuse_io_free (ia );
966964}
967965
968966static void fuse_send_readpages (struct fuse_io_args * ia , struct file * file )
@@ -983,7 +981,7 @@ static void fuse_send_readpages(struct fuse_io_args *ia, struct file *file)
983981 /* Don't overflow end offset */
984982 if (pos + (count - 1 ) == LLONG_MAX ) {
985983 count -- ;
986- ap -> folio_descs [ap -> num_folios - 1 ].length -- ;
984+ ap -> descs [ap -> num_folios - 1 ].length -- ;
987985 }
988986 WARN_ON ((loff_t ) (pos + count ) < 0 );
989987
@@ -1044,15 +1042,15 @@ static void fuse_readahead(struct readahead_control *rac)
10441042 */
10451043 break ;
10461044
1047- ia = fuse_io_folios_alloc (NULL , cur_pages );
1045+ ia = fuse_io_alloc (NULL , cur_pages );
10481046 if (!ia )
10491047 return ;
10501048 ap = & ia -> ap ;
10511049
10521050 while (ap -> num_folios < cur_pages ) {
10531051 folio = readahead_folio (rac );
10541052 ap -> folios [ap -> num_folios ] = folio ;
1055- ap -> folio_descs [ap -> num_folios ].length = folio_size (folio );
1053+ ap -> descs [ap -> num_folios ].length = folio_size (folio );
10561054 ap -> num_folios ++ ;
10571055 }
10581056 fuse_send_readpages (ia , rac -> file );
@@ -1186,7 +1184,7 @@ static ssize_t fuse_send_write_pages(struct fuse_io_args *ia,
11861184 err = - EIO ;
11871185
11881186 short_write = ia -> write .out .size < count ;
1189- offset = ap -> folio_descs [0 ].offset ;
1187+ offset = ap -> descs [0 ].offset ;
11901188 count = ia -> write .out .size ;
11911189 for (i = 0 ; i < ap -> num_folios ; i ++ ) {
11921190 struct folio * folio = ap -> folios [i ];
@@ -1224,7 +1222,7 @@ static ssize_t fuse_fill_write_pages(struct fuse_io_args *ia,
12241222 int err ;
12251223
12261224 ap -> args .in_pages = true;
1227- ap -> folio_descs [0 ].offset = offset ;
1225+ ap -> descs [0 ].offset = offset ;
12281226
12291227 do {
12301228 size_t tmp ;
@@ -1261,7 +1259,7 @@ static ssize_t fuse_fill_write_pages(struct fuse_io_args *ia,
12611259
12621260 err = 0 ;
12631261 ap -> folios [ap -> num_folios ] = folio ;
1264- ap -> folio_descs [ap -> num_folios ].length = tmp ;
1262+ ap -> descs [ap -> num_folios ].length = tmp ;
12651263 ap -> num_folios ++ ;
12661264 nr_pages ++ ;
12671265
@@ -1318,8 +1316,7 @@ static ssize_t fuse_perform_write(struct kiocb *iocb, struct iov_iter *ii)
13181316 unsigned int nr_pages = fuse_wr_pages (pos , iov_iter_count (ii ),
13191317 fc -> max_pages );
13201318
1321- ap -> uses_folios = true;
1322- ap -> folios = fuse_folios_alloc (nr_pages , GFP_KERNEL , & ap -> folio_descs );
1319+ ap -> folios = fuse_folios_alloc (nr_pages , GFP_KERNEL , & ap -> descs );
13231320 if (!ap -> folios ) {
13241321 err = - ENOMEM ;
13251322 break ;
@@ -1564,13 +1561,13 @@ static int fuse_get_user_pages(struct fuse_args_pages *ap, struct iov_iter *ii,
15641561 /* Currently, all folios in FUSE are one page */
15651562 nfolios = DIV_ROUND_UP (ret , PAGE_SIZE );
15661563
1567- ap -> folio_descs [ap -> num_folios ].offset = start ;
1568- fuse_folio_descs_length_init (ap -> folio_descs , ap -> num_folios , nfolios );
1564+ ap -> descs [ap -> num_folios ].offset = start ;
1565+ fuse_folio_descs_length_init (ap -> descs , ap -> num_folios , nfolios );
15691566 for (i = 0 ; i < nfolios ; i ++ )
15701567 ap -> folios [i + ap -> num_folios ] = page_folio (pages [i ]);
15711568
15721569 ap -> num_folios += nfolios ;
1573- ap -> folio_descs [ap -> num_folios - 1 ].length -=
1570+ ap -> descs [ap -> num_folios - 1 ].length -=
15741571 (PAGE_SIZE - ret ) & (PAGE_SIZE - 1 );
15751572 nr_pages += nfolios ;
15761573 }
@@ -1614,14 +1611,14 @@ ssize_t fuse_direct_io(struct fuse_io_priv *io, struct iov_iter *iter,
16141611 bool fopen_direct_io = ff -> open_flags & FOPEN_DIRECT_IO ;
16151612
16161613 max_pages = iov_iter_npages (iter , fc -> max_pages );
1617- ia = fuse_io_folios_alloc (io , max_pages );
1614+ ia = fuse_io_alloc (io , max_pages );
16181615 if (!ia )
16191616 return - ENOMEM ;
16201617
16211618 if (fopen_direct_io && fc -> direct_io_allow_mmap ) {
16221619 res = filemap_write_and_wait_range (mapping , pos , pos + count - 1 );
16231620 if (res ) {
1624- fuse_io_folios_free (ia );
1621+ fuse_io_free (ia );
16251622 return res ;
16261623 }
16271624 }
@@ -1636,7 +1633,7 @@ ssize_t fuse_direct_io(struct fuse_io_priv *io, struct iov_iter *iter,
16361633 if (fopen_direct_io && write ) {
16371634 res = invalidate_inode_pages2_range (mapping , idx_from , idx_to );
16381635 if (res ) {
1639- fuse_io_folios_free (ia );
1636+ fuse_io_free (ia );
16401637 return res ;
16411638 }
16421639 }
@@ -1663,7 +1660,7 @@ ssize_t fuse_direct_io(struct fuse_io_priv *io, struct iov_iter *iter,
16631660
16641661 if (!io -> async || nres < 0 ) {
16651662 fuse_release_user_pages (& ia -> ap , nres , io -> should_dirty );
1666- fuse_io_folios_free (ia );
1663+ fuse_io_free (ia );
16671664 }
16681665 ia = NULL ;
16691666 if (nres < 0 ) {
@@ -1682,13 +1679,13 @@ ssize_t fuse_direct_io(struct fuse_io_priv *io, struct iov_iter *iter,
16821679 }
16831680 if (count ) {
16841681 max_pages = iov_iter_npages (iter , fc -> max_pages );
1685- ia = fuse_io_folios_alloc (io , max_pages );
1682+ ia = fuse_io_alloc (io , max_pages );
16861683 if (!ia )
16871684 break ;
16881685 }
16891686 }
16901687 if (ia )
1691- fuse_io_folios_free (ia );
1688+ fuse_io_free (ia );
16921689 if (res > 0 )
16931690 * ppos = pos ;
16941691
@@ -2093,8 +2090,7 @@ static struct fuse_writepage_args *fuse_writepage_args_alloc(void)
20932090 if (wpa ) {
20942091 ap = & wpa -> ia .ap ;
20952092 ap -> num_folios = 0 ;
2096- ap -> uses_folios = true;
2097- ap -> folios = fuse_folios_alloc (1 , GFP_NOFS , & ap -> folio_descs );
2093+ ap -> folios = fuse_folios_alloc (1 , GFP_NOFS , & ap -> descs );
20982094 if (!ap -> folios ) {
20992095 kfree (wpa );
21002096 wpa = NULL ;
@@ -2127,8 +2123,8 @@ static void fuse_writepage_args_page_fill(struct fuse_writepage_args *wpa, struc
21272123 folio_copy (tmp_folio , folio );
21282124
21292125 ap -> folios [folio_index ] = tmp_folio ;
2130- ap -> folio_descs [folio_index ].offset = 0 ;
2131- ap -> folio_descs [folio_index ].length = PAGE_SIZE ;
2126+ ap -> descs [folio_index ].offset = 0 ;
2127+ ap -> descs [folio_index ].length = PAGE_SIZE ;
21322128
21332129 inc_wb_stat (& inode_to_bdi (inode )-> wb , WB_WRITEBACK );
21342130 node_stat_add_folio (tmp_folio , NR_WRITEBACK_TEMP );
@@ -2234,10 +2230,10 @@ static bool fuse_pages_realloc(struct fuse_fill_wb_data *data)
22342230 return false;
22352231
22362232 memcpy (folios , ap -> folios , sizeof (struct folio * ) * ap -> num_folios );
2237- memcpy (descs , ap -> folio_descs , sizeof (struct fuse_folio_desc ) * ap -> num_folios );
2233+ memcpy (descs , ap -> descs , sizeof (struct fuse_folio_desc ) * ap -> num_folios );
22382234 kfree (ap -> folios );
22392235 ap -> folios = folios ;
2240- ap -> folio_descs = descs ;
2236+ ap -> descs = descs ;
22412237 data -> max_folios = nfolios ;
22422238
22432239 return true;
0 commit comments