Commit 0a943c65 authored by Matthew Wilcox's avatar Matthew Wilcox
Browse files

btrfs: Convert page cache to XArray

parent 7f4446ee
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -437,9 +437,7 @@ static noinline int add_ra_bio_pages(struct inode *inode,
		if (pg_index > end_index)
			break;

		rcu_read_lock();
		page = radix_tree_lookup(&mapping->i_pages, pg_index);
		rcu_read_unlock();
		page = xa_load(&mapping->i_pages, pg_index);
		if (page && !xa_is_value(page)) {
			misses++;
			if (misses > 4)
+3 −5
Original line number Diff line number Diff line
@@ -5153,11 +5153,9 @@ void clear_extent_buffer_dirty(struct extent_buffer *eb)

		clear_page_dirty_for_io(page);
		xa_lock_irq(&page->mapping->i_pages);
		if (!PageDirty(page)) {
			radix_tree_tag_clear(&page->mapping->i_pages,
						page_index(page),
						PAGECACHE_TAG_DIRTY);
		}
		if (!PageDirty(page))
			__xa_clear_mark(&page->mapping->i_pages,
					page_index(page), PAGECACHE_TAG_DIRTY);
		xa_unlock_irq(&page->mapping->i_pages);
		ClearPageError(page);
		unlock_page(page);