diff --git a/fs/gfs2/lops.c b/fs/gfs2/lops.c index 797931eb5845..a832904a09e3 100644 --- a/fs/gfs2/lops.c +++ b/fs/gfs2/lops.c @@ -467,6 +467,12 @@ static void gfs2_jhead_process_page(struct gfs2_jdesc *jd, unsigned long index, folio = filemap_get_folio(jd->jd_inode->i_mapping, index); + if (IS_ERR(folio)) { + filemap_set_wb_err(jd->jd_inode->i_mapping, PTR_ERR(folio)); + *done = true; + return; + } + folio_wait_locked(folio); if (!folio_test_uptodate(folio)) *done = true;