Skip to content

Commit 2dcd963

Browse files
Matthew Wilcox (Oracle)kleikamp
authored andcommitted
jfs: Convert __get_metapage to use a folio
Remove four hidden calls to compound_head(). Signed-off-by: Matthew Wilcox (Oracle) <[email protected]> Signed-off-by: Dave Kleikamp <[email protected]>
1 parent 35474d5 commit 2dcd963

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

fs/jfs/jfs_metapage.c

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -577,7 +577,7 @@ struct metapage *__get_metapage(struct inode *inode, unsigned long lblock,
577577
int l2bsize;
578578
struct address_space *mapping;
579579
struct metapage *mp = NULL;
580-
struct page *page;
580+
struct folio *folio;
581581
unsigned long page_index;
582582
unsigned long page_offset;
583583

@@ -608,22 +608,22 @@ struct metapage *__get_metapage(struct inode *inode, unsigned long lblock,
608608
}
609609

610610
if (new && (PSIZE == PAGE_SIZE)) {
611-
page = grab_cache_page(mapping, page_index);
612-
if (!page) {
613-
jfs_err("grab_cache_page failed!");
611+
folio = filemap_grab_folio(mapping, page_index);
612+
if (IS_ERR(folio)) {
613+
jfs_err("filemap_grab_folio failed!");
614614
return NULL;
615615
}
616-
SetPageUptodate(page);
616+
folio_mark_uptodate(folio);
617617
} else {
618-
page = read_mapping_page(mapping, page_index, NULL);
619-
if (IS_ERR(page)) {
618+
folio = read_mapping_folio(mapping, page_index, NULL);
619+
if (IS_ERR(folio)) {
620620
jfs_err("read_mapping_page failed!");
621621
return NULL;
622622
}
623-
lock_page(page);
623+
folio_lock(folio);
624624
}
625625

626-
mp = page_to_mp(page, page_offset);
626+
mp = page_to_mp(&folio->page, page_offset);
627627
if (mp) {
628628
if (mp->logical_size != size) {
629629
jfs_error(inode->i_sb,
@@ -649,16 +649,16 @@ struct metapage *__get_metapage(struct inode *inode, unsigned long lblock,
649649
mp = alloc_metapage(GFP_NOFS);
650650
if (!mp)
651651
goto unlock;
652-
mp->page = page;
652+
mp->page = &folio->page;
653653
mp->sb = inode->i_sb;
654654
mp->flag = 0;
655655
mp->xflag = COMMIT_PAGE;
656656
mp->count = 1;
657657
mp->nohomeok = 0;
658658
mp->logical_size = size;
659-
mp->data = page_address(page) + page_offset;
659+
mp->data = folio_address(folio) + page_offset;
660660
mp->index = lblock;
661-
if (unlikely(insert_metapage(page, mp))) {
661+
if (unlikely(insert_metapage(&folio->page, mp))) {
662662
free_metapage(mp);
663663
goto unlock;
664664
}
@@ -670,12 +670,12 @@ struct metapage *__get_metapage(struct inode *inode, unsigned long lblock,
670670
memset(mp->data, 0, PSIZE);
671671
}
672672

673-
unlock_page(page);
673+
folio_unlock(folio);
674674
jfs_info("__get_metapage: returning = 0x%p data = 0x%p", mp, mp->data);
675675
return mp;
676676

677677
unlock:
678-
unlock_page(page);
678+
folio_unlock(folio);
679679
return NULL;
680680
}
681681

0 commit comments

Comments
 (0)