Skip to content

Commit 4082976

Browse files
Matthew Wilcox (Oracle)Andreas Gruenbacher
authored andcommitted
gfs2: Convert gfs2_find_jhead() to use a folio
Remove a call to grab_cache_page() by using a folio throughout this function. [agruenba@redhat.com: Adjust to return value difference between bio_add_page() and bio_add_folio().] Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
1 parent e00307e commit 4082976

1 file changed

Lines changed: 11 additions & 11 deletions

File tree

fs/gfs2/lops.c

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -512,9 +512,9 @@ int gfs2_find_jhead(struct gfs2_jdesc *jd, struct gfs2_log_header_host *head,
512512
unsigned int shift = PAGE_SHIFT - bsize_shift;
513513
unsigned int max_blocks = 2 * 1024 * 1024 >> bsize_shift;
514514
struct gfs2_journal_extent *je;
515-
int sz, ret = 0;
515+
int ret = 0;
516516
struct bio *bio = NULL;
517-
struct page *page = NULL;
517+
struct folio *folio = NULL;
518518
bool done = false;
519519
errseq_t since;
520520

@@ -527,9 +527,10 @@ int gfs2_find_jhead(struct gfs2_jdesc *jd, struct gfs2_log_header_host *head,
527527
u64 dblock = je->dblock;
528528

529529
for (; block < je->lblock + je->blocks; block++, dblock++) {
530-
if (!page) {
531-
page = grab_cache_page(mapping, block >> shift);
532-
if (!page) {
530+
if (!folio) {
531+
folio = filemap_grab_folio(mapping,
532+
block >> shift);
533+
if (!folio) {
533534
ret = -ENOMEM;
534535
done = true;
535536
goto out;
@@ -541,8 +542,7 @@ int gfs2_find_jhead(struct gfs2_jdesc *jd, struct gfs2_log_header_host *head,
541542
sector_t sector = dblock << sdp->sd_fsb2bb_shift;
542543

543544
if (bio_end_sector(bio) == sector) {
544-
sz = bio_add_page(bio, page, bsize, off);
545-
if (sz == bsize)
545+
if (bio_add_folio(bio, folio, bsize, off))
546546
goto block_added;
547547
}
548548
if (off) {
@@ -562,12 +562,12 @@ int gfs2_find_jhead(struct gfs2_jdesc *jd, struct gfs2_log_header_host *head,
562562
bio = gfs2_log_alloc_bio(sdp, dblock, gfs2_end_log_read);
563563
bio->bi_opf = REQ_OP_READ;
564564
add_block_to_new_bio:
565-
sz = bio_add_page(bio, page, bsize, off);
566-
BUG_ON(sz != bsize);
565+
if (!bio_add_folio(bio, folio, bsize, off))
566+
BUG();
567567
block_added:
568568
off += bsize;
569-
if (off == PAGE_SIZE)
570-
page = NULL;
569+
if (off == folio_size(folio))
570+
folio = NULL;
571571
if (blocks_submitted <= blocks_read + max_blocks) {
572572
/* Keep at least one bio in flight */
573573
continue;

0 commit comments

Comments
 (0)