@@ -4450,19 +4450,16 @@ int extent_buffer_under_io(struct extent_buffer *eb)
4450
4450
/*
4451
4451
* Helper for releasing extent buffer page.
4452
4452
*/
4453
- static void btrfs_release_extent_buffer_page (struct extent_buffer * eb ,
4454
- unsigned long start_idx )
4453
+ static void btrfs_release_extent_buffer_page (struct extent_buffer * eb )
4455
4454
{
4456
4455
unsigned long index ;
4457
- unsigned long num_pages ;
4458
4456
struct page * page ;
4459
4457
int mapped = !test_bit (EXTENT_BUFFER_DUMMY , & eb -> bflags );
4460
4458
4461
4459
BUG_ON (extent_buffer_under_io (eb ));
4462
4460
4463
- num_pages = num_extent_pages (eb -> start , eb -> len );
4464
- index = start_idx + num_pages ;
4465
- if (start_idx >= index )
4461
+ index = num_extent_pages (eb -> start , eb -> len );
4462
+ if (index == 0 )
4466
4463
return ;
4467
4464
4468
4465
do {
@@ -4498,15 +4495,15 @@ static void btrfs_release_extent_buffer_page(struct extent_buffer *eb,
4498
4495
/* One for when we alloced the page */
4499
4496
page_cache_release (page );
4500
4497
}
4501
- } while (index != start_idx );
4498
+ } while (index != 0 );
4502
4499
}
4503
4500
4504
4501
/*
4505
4502
* Helper for releasing the extent buffer.
4506
4503
*/
4507
4504
static inline void btrfs_release_extent_buffer (struct extent_buffer * eb )
4508
4505
{
4509
- btrfs_release_extent_buffer_page (eb , 0 );
4506
+ btrfs_release_extent_buffer_page (eb );
4510
4507
__free_extent_buffer (eb );
4511
4508
}
4512
4509
@@ -4863,7 +4860,7 @@ static int release_extent_buffer(struct extent_buffer *eb)
4863
4860
}
4864
4861
4865
4862
/* Should be safe to release our pages at this point */
4866
- btrfs_release_extent_buffer_page (eb , 0 );
4863
+ btrfs_release_extent_buffer_page (eb );
4867
4864
call_rcu (& eb -> rcu_head , btrfs_release_extent_buffer_rcu );
4868
4865
return 1 ;
4869
4866
}
0 commit comments