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) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
This commit is contained in:
Matthew Wilcox (Oracle) 2023-06-02 18:07:48 -04:00
parent 32b29cc9db
commit 7a8eb01b07
1 changed files with 4 additions and 5 deletions

View File

@ -483,12 +483,11 @@ bool iomap_release_folio(struct folio *folio, gfp_t gfp_flags)
folio_size(folio)); folio_size(folio));
/* /*
* mm accommodates an old ext3 case where clean folios might * If the folio is dirty, we refuse to release our metadata because
* not have had the dirty bit cleared. Thus, it can send actual * it may be partially dirty. Once we track per-block dirty state,
* dirty folios to ->release_folio() via shrink_active_list(); * we can release the metadata if every block is dirty.
* skip those here.
*/ */
if (folio_test_dirty(folio) || folio_test_writeback(folio)) if (folio_test_dirty(folio))
return false; return false;
iomap_page_release(folio); iomap_page_release(folio);
return true; return true;