Skip to content

Commit 7a8eb01

Browse files
author
Matthew Wilcox (Oracle)
committed
iomap: Remove unnecessary test from iomap_release_folio()
The check for the folio being under writeback is unnecessary; the caller has checked this and the folio is locked, so the folio cannot be under writeback at this point. The comment is somewhat misleading in that it talks about one specific situation in which we can see a dirty folio. There are others, so change the comment to explain why we can't release the iomap_page. Signed-off-by: Matthew Wilcox (Oracle) <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]> Reviewed-by: Darrick J. Wong <[email protected]>
1 parent 32b29cc commit 7a8eb01

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

fs/iomap/buffered-io.c

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -483,12 +483,11 @@ bool iomap_release_folio(struct folio *folio, gfp_t gfp_flags)
483483
folio_size(folio));
484484

485485
/*
486-
* mm accommodates an old ext3 case where clean folios might
487-
* not have had the dirty bit cleared. Thus, it can send actual
488-
* dirty folios to ->release_folio() via shrink_active_list();
489-
* skip those here.
486+
* If the folio is dirty, we refuse to release our metadata because
487+
* it may be partially dirty. Once we track per-block dirty state,
488+
* we can release the metadata if every block is dirty.
490489
*/
491-
if (folio_test_dirty(folio) || folio_test_writeback(folio))
490+
if (folio_test_dirty(folio))
492491
return false;
493492
iomap_page_release(folio);
494493
return true;

0 commit comments

Comments
 (0)