Commit b9967834 authored by Matthew Wilcox (Oracle)'s avatar Matthew Wilcox (Oracle) Committed by David Sterba
Browse files

btrfs: update some folio related comments



Remove references to the page lock and page->mapping.  Also btrfs folios
can never be swizzled into swap (mentioned in extent_write_cache_pages()).

Reviewed-by: default avatarQu Wenruo <wqu@suse.com>
Signed-off-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 96b2854d
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -2192,10 +2192,8 @@ static int extent_write_cache_pages(struct address_space *mapping,
			done_index = folio_next_index(folio);
			/*
			 * At this point we hold neither the i_pages lock nor
			 * the page lock: the page may be truncated or
			 * invalidated (changing page->mapping to NULL),
			 * or even swizzled back from swapper_space to
			 * tmpfs file mapping
			 * the folio lock: the folio may be truncated or
			 * invalidated (changing folio->mapping to NULL).
			 */
			if (!folio_trylock(folio)) {
				submit_write_bio(bio_ctrl, 0);
@@ -3233,7 +3231,7 @@ struct extent_buffer *alloc_extent_buffer(struct btrfs_fs_info *fs_info,
	}
	/*
	 * Now all pages of that extent buffer is unmapped, set UNMAPPED flag,
	 * so it can be cleaned up without utilizing page->mapping.
	 * so it can be cleaned up without utilizing folio->mapping.
	 */
	set_bit(EXTENT_BUFFER_UNMAPPED, &eb->bflags);

+1 −1
Original line number Diff line number Diff line
@@ -2896,7 +2896,7 @@ int btrfs_writepage_cow_fixup(struct folio *folio)
	 * We are already holding a reference to this inode from
	 * write_cache_pages.  We need to hold it because the space reservation
	 * takes place outside of the folio lock, and we can't trust
	 * page->mapping outside of the folio lock.
	 * folio->mapping outside of the folio lock.
	 */
	ihold(inode);
	btrfs_folio_set_checked(fs_info, folio, folio_pos(folio), folio_size(folio));
+1 −1
Original line number Diff line number Diff line
@@ -72,7 +72,7 @@ bool btrfs_is_subpage(const struct btrfs_fs_info *fs_info, struct address_space

	/*
	 * Only data pages (either through DIO or compression) can have no
	 * mapping. And if page->mapping->host is data inode, it's subpage.
	 * mapping. And if mapping->host is data inode, it's subpage.
	 * As we have ruled our sectorsize >= PAGE_SIZE case already.
	 */
	if (!mapping || !mapping->host || is_data_inode(BTRFS_I(mapping->host)))