@@ -1274,7 +1274,7 @@ static void mb_regenerate_buddy(struct ext4_buddy *e4b)
1274
1274
* for this page; do not hold this lock when calling this routine!
1275
1275
*/
1276
1276
1277
- static int ext4_mb_init_cache (struct page * page , char * incore , gfp_t gfp )
1277
+ static int ext4_mb_init_cache (struct folio * folio , char * incore , gfp_t gfp )
1278
1278
{
1279
1279
ext4_group_t ngroups ;
1280
1280
unsigned int blocksize ;
@@ -1292,13 +1292,13 @@ static int ext4_mb_init_cache(struct page *page, char *incore, gfp_t gfp)
1292
1292
char * bitmap ;
1293
1293
struct ext4_group_info * grinfo ;
1294
1294
1295
- inode = page -> mapping -> host ;
1295
+ inode = folio -> mapping -> host ;
1296
1296
sb = inode -> i_sb ;
1297
1297
ngroups = ext4_get_groups_count (sb );
1298
1298
blocksize = i_blocksize (inode );
1299
1299
blocks_per_page = PAGE_SIZE / blocksize ;
1300
1300
1301
- mb_debug (sb , "init page %lu\n" , page -> index );
1301
+ mb_debug (sb , "init folio %lu\n" , folio -> index );
1302
1302
1303
1303
groups_per_page = blocks_per_page >> 1 ;
1304
1304
if (groups_per_page == 0 )
@@ -1313,9 +1313,9 @@ static int ext4_mb_init_cache(struct page *page, char *incore, gfp_t gfp)
1313
1313
} else
1314
1314
bh = & bhs ;
1315
1315
1316
- first_group = page -> index * blocks_per_page / 2 ;
1316
+ first_group = folio -> index * blocks_per_page / 2 ;
1317
1317
1318
- /* read all groups the page covers into the cache */
1318
+ /* read all groups the folio covers into the cache */
1319
1319
for (i = 0 , group = first_group ; i < groups_per_page ; i ++ , group ++ ) {
1320
1320
if (group >= ngroups )
1321
1321
break ;
@@ -1326,10 +1326,11 @@ static int ext4_mb_init_cache(struct page *page, char *incore, gfp_t gfp)
1326
1326
/*
1327
1327
* If page is uptodate then we came here after online resize
1328
1328
* which added some new uninitialized group info structs, so
1329
- * we must skip all initialized uptodate buddies on the page ,
1329
+ * we must skip all initialized uptodate buddies on the folio ,
1330
1330
* which may be currently in use by an allocating task.
1331
1331
*/
1332
- if (PageUptodate (page ) && !EXT4_MB_GRP_NEED_INIT (grinfo )) {
1332
+ if (folio_test_uptodate (folio ) &&
1333
+ !EXT4_MB_GRP_NEED_INIT (grinfo )) {
1333
1334
bh [i ] = NULL ;
1334
1335
continue ;
1335
1336
}
@@ -1353,7 +1354,7 @@ static int ext4_mb_init_cache(struct page *page, char *incore, gfp_t gfp)
1353
1354
err = err2 ;
1354
1355
}
1355
1356
1356
- first_block = page -> index * blocks_per_page ;
1357
+ first_block = folio -> index * blocks_per_page ;
1357
1358
for (i = 0 ; i < blocks_per_page ; i ++ ) {
1358
1359
group = (first_block + i ) >> 1 ;
1359
1360
if (group >= ngroups )
@@ -1374,7 +1375,7 @@ static int ext4_mb_init_cache(struct page *page, char *incore, gfp_t gfp)
1374
1375
* above
1375
1376
*
1376
1377
*/
1377
- data = page_address ( page ) + (i * blocksize );
1378
+ data = folio_address ( folio ) + (i * blocksize );
1378
1379
bitmap = bh [group - first_group ]-> b_data ;
1379
1380
1380
1381
/*
@@ -1389,8 +1390,8 @@ static int ext4_mb_init_cache(struct page *page, char *incore, gfp_t gfp)
1389
1390
if ((first_block + i ) & 1 ) {
1390
1391
/* this is block of buddy */
1391
1392
BUG_ON (incore == NULL );
1392
- mb_debug (sb , "put buddy for group %u in page %lu/%x\n" ,
1393
- group , page -> index , i * blocksize );
1393
+ mb_debug (sb , "put buddy for group %u in folio %lu/%x\n" ,
1394
+ group , folio -> index , i * blocksize );
1394
1395
trace_ext4_mb_buddy_bitmap_load (sb , group );
1395
1396
grinfo -> bb_fragments = 0 ;
1396
1397
memset (grinfo -> bb_counters , 0 ,
@@ -1408,8 +1409,8 @@ static int ext4_mb_init_cache(struct page *page, char *incore, gfp_t gfp)
1408
1409
} else {
1409
1410
/* this is block of bitmap */
1410
1411
BUG_ON (incore != NULL );
1411
- mb_debug (sb , "put bitmap for group %u in page %lu/%x\n" ,
1412
- group , page -> index , i * blocksize );
1412
+ mb_debug (sb , "put bitmap for group %u in folio %lu/%x\n" ,
1413
+ group , folio -> index , i * blocksize );
1413
1414
trace_ext4_mb_bitmap_load (sb , group );
1414
1415
1415
1416
/* see comments in ext4_mb_put_pa() */
@@ -1427,7 +1428,7 @@ static int ext4_mb_init_cache(struct page *page, char *incore, gfp_t gfp)
1427
1428
incore = data ;
1428
1429
}
1429
1430
}
1430
- SetPageUptodate ( page );
1431
+ folio_mark_uptodate ( folio );
1431
1432
1432
1433
out :
1433
1434
if (bh ) {
@@ -1539,7 +1540,7 @@ int ext4_mb_init_group(struct super_block *sb, ext4_group_t group, gfp_t gfp)
1539
1540
}
1540
1541
1541
1542
folio = e4b .bd_bitmap_folio ;
1542
- ret = ext4_mb_init_cache (& folio -> page , NULL , gfp );
1543
+ ret = ext4_mb_init_cache (folio , NULL , gfp );
1543
1544
if (ret )
1544
1545
goto err ;
1545
1546
if (!folio_test_uptodate (folio )) {
@@ -1558,7 +1559,7 @@ int ext4_mb_init_group(struct super_block *sb, ext4_group_t group, gfp_t gfp)
1558
1559
}
1559
1560
/* init buddy cache */
1560
1561
folio = e4b .bd_buddy_folio ;
1561
- ret = ext4_mb_init_cache (& folio -> page , e4b .bd_bitmap , gfp );
1562
+ ret = ext4_mb_init_cache (folio , e4b .bd_bitmap , gfp );
1562
1563
if (ret )
1563
1564
goto err ;
1564
1565
if (!folio_test_uptodate (folio )) {
@@ -1647,7 +1648,7 @@ ext4_mb_load_buddy_gfp(struct super_block *sb, ext4_group_t group,
1647
1648
goto err ;
1648
1649
}
1649
1650
if (!folio_test_uptodate (folio )) {
1650
- ret = ext4_mb_init_cache (& folio -> page , NULL , gfp );
1651
+ ret = ext4_mb_init_cache (folio , NULL , gfp );
1651
1652
if (ret ) {
1652
1653
folio_unlock (folio );
1653
1654
goto err ;
@@ -1690,7 +1691,7 @@ ext4_mb_load_buddy_gfp(struct super_block *sb, ext4_group_t group,
1690
1691
goto err ;
1691
1692
}
1692
1693
if (!folio_test_uptodate (folio )) {
1693
- ret = ext4_mb_init_cache (& folio -> page , e4b -> bd_bitmap ,
1694
+ ret = ext4_mb_init_cache (folio , e4b -> bd_bitmap ,
1694
1695
gfp );
1695
1696
if (ret ) {
1696
1697
folio_unlock (folio );
0 commit comments