|
@@ -4647,19 +4647,16 @@ int extent_buffer_under_io(struct extent_buffer *eb)
|
|
|
*/
|
|
|
static void btrfs_release_extent_buffer_page(struct extent_buffer *eb)
|
|
|
{
|
|
|
- int index;
|
|
|
- struct page *page;
|
|
|
+ int i;
|
|
|
+ int num_pages;
|
|
|
int mapped = !test_bit(EXTENT_BUFFER_DUMMY, &eb->bflags);
|
|
|
|
|
|
BUG_ON(extent_buffer_under_io(eb));
|
|
|
|
|
|
- index = num_extent_pages(eb);
|
|
|
- if (index == 0)
|
|
|
- return;
|
|
|
+ num_pages = num_extent_pages(eb);
|
|
|
+ for (i = 0; i < num_pages; i++) {
|
|
|
+ struct page *page = eb->pages[i];
|
|
|
|
|
|
- do {
|
|
|
- index--;
|
|
|
- page = eb->pages[index];
|
|
|
if (!page)
|
|
|
continue;
|
|
|
if (mapped)
|
|
@@ -4691,7 +4688,7 @@ static void btrfs_release_extent_buffer_page(struct extent_buffer *eb)
|
|
|
|
|
|
/* One for when we allocated the page */
|
|
|
put_page(page);
|
|
|
- } while (index != 0);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/*
|