diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c index 0a5ebfda90f1..37596bae664d 100644 --- a/fs/iomap/buffered-io.c +++ b/fs/iomap/buffered-io.c @@ -291,8 +291,13 @@ static void ifs_free(struct folio *folio) return; WARN_ON_ONCE(ifs->read_bytes_pending != 0); WARN_ON_ONCE(atomic_read(&ifs->write_bytes_pending)); - WARN_ON_ONCE(ifs_is_fully_uptodate(folio, ifs) != - folio_test_uptodate(folio)); + + bool ifs_up = ifs_is_fully_uptodate(folio, ifs); + bool folio_up = folio_test_uptodate(folio); + + if (WARN_ON_ONCE(ifs_up != folio_up)) + pr_err("IOMAP DEBUG: ifs_up=%d, folio_up=%d\n", ifs_up, folio_up); + kfree(ifs); }