Skip to content

Commit

Permalink
btrfs: switch types to int when counting eb pages
Browse files Browse the repository at this point in the history
The loops iterating eb pages use unsigned long, that's an overkill as
we know that there are at most 16 pages (64k / 4k), and 4 by default
(with nodesize 16k).

Reviewed-by: Nikolay Borisov <nborisov@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
  • Loading branch information
David Sterba committed Aug 6, 2018
1 parent 8791d43 commit cc5e31a
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 23 deletions.
44 changes: 22 additions & 22 deletions fs/btrfs/extent_io.c
Original file line number Diff line number Diff line change
Expand Up @@ -2059,7 +2059,7 @@ int repair_eb_io_failure(struct btrfs_fs_info *fs_info,
struct extent_buffer *eb, int mirror_num)
{
u64 start = eb->start;
unsigned long i, num_pages = num_extent_pages(eb);
int i, num_pages = num_extent_pages(eb);
int ret = 0;

if (sb_rdonly(fs_info->sb))
Expand Down Expand Up @@ -3538,7 +3538,7 @@ lock_extent_buffer_for_io(struct extent_buffer *eb,
struct btrfs_fs_info *fs_info,
struct extent_page_data *epd)
{
unsigned long i, num_pages;
int i, num_pages;
int flush = 0;
int ret = 0;

Expand Down Expand Up @@ -3712,7 +3712,7 @@ static noinline_for_stack int write_one_eb(struct extent_buffer *eb,
struct extent_io_tree *tree = &BTRFS_I(fs_info->btree_inode)->io_tree;
u64 offset = eb->start;
u32 nritems;
unsigned long i, num_pages;
int i, num_pages;
unsigned long start, end;
unsigned int write_flags = wbc_to_write_flags(wbc) | REQ_META;
int ret = 0;
Expand Down Expand Up @@ -4647,7 +4647,7 @@ int extent_buffer_under_io(struct extent_buffer *eb)
*/
static void btrfs_release_extent_buffer_page(struct extent_buffer *eb)
{
unsigned long index;
int index;
struct page *page;
int mapped = !test_bit(EXTENT_BUFFER_DUMMY, &eb->bflags);

Expand Down Expand Up @@ -4743,10 +4743,10 @@ __alloc_extent_buffer(struct btrfs_fs_info *fs_info, u64 start,

struct extent_buffer *btrfs_clone_extent_buffer(struct extent_buffer *src)
{
unsigned long i;
int i;
struct page *p;
struct extent_buffer *new;
unsigned long num_pages = num_extent_pages(src);
int num_pages = num_extent_pages(src);

new = __alloc_extent_buffer(src->fs_info, src->start, src->len);
if (new == NULL)
Expand Down Expand Up @@ -4775,8 +4775,8 @@ struct extent_buffer *__alloc_dummy_extent_buffer(struct btrfs_fs_info *fs_info,
u64 start, unsigned long len)
{
struct extent_buffer *eb;
unsigned long num_pages;
unsigned long i;
int num_pages;
int i;

eb = __alloc_extent_buffer(fs_info, start, len);
if (!eb)
Expand Down Expand Up @@ -4842,7 +4842,7 @@ static void check_buffer_tree_ref(struct extent_buffer *eb)
static void mark_extent_buffer_accessed(struct extent_buffer *eb,
struct page *accessed)
{
unsigned long num_pages, i;
int num_pages, i;

check_buffer_tree_ref(eb);

Expand Down Expand Up @@ -4943,8 +4943,8 @@ struct extent_buffer *alloc_extent_buffer(struct btrfs_fs_info *fs_info,
u64 start)
{
unsigned long len = fs_info->nodesize;
unsigned long num_pages;
unsigned long i;
int num_pages;
int i;
unsigned long index = start >> PAGE_SHIFT;
struct extent_buffer *eb;
struct extent_buffer *exists = NULL;
Expand Down Expand Up @@ -5159,8 +5159,8 @@ void free_extent_buffer_stale(struct extent_buffer *eb)

void clear_extent_buffer_dirty(struct extent_buffer *eb)
{
unsigned long i;
unsigned long num_pages;
int i;
int num_pages;
struct page *page;

num_pages = num_extent_pages(eb);
Expand Down Expand Up @@ -5189,8 +5189,8 @@ void clear_extent_buffer_dirty(struct extent_buffer *eb)

int set_extent_buffer_dirty(struct extent_buffer *eb)
{
unsigned long i;
unsigned long num_pages;
int i;
int num_pages;
int was_dirty = 0;

check_buffer_tree_ref(eb);
Expand All @@ -5208,9 +5208,9 @@ int set_extent_buffer_dirty(struct extent_buffer *eb)

void clear_extent_buffer_uptodate(struct extent_buffer *eb)
{
unsigned long i;
int i;
struct page *page;
unsigned long num_pages;
int num_pages;

clear_bit(EXTENT_BUFFER_UPTODATE, &eb->bflags);
num_pages = num_extent_pages(eb);
Expand All @@ -5223,9 +5223,9 @@ void clear_extent_buffer_uptodate(struct extent_buffer *eb)

void set_extent_buffer_uptodate(struct extent_buffer *eb)
{
unsigned long i;
int i;
struct page *page;
unsigned long num_pages;
int num_pages;

set_bit(EXTENT_BUFFER_UPTODATE, &eb->bflags);
num_pages = num_extent_pages(eb);
Expand All @@ -5238,13 +5238,13 @@ void set_extent_buffer_uptodate(struct extent_buffer *eb)
int read_extent_buffer_pages(struct extent_io_tree *tree,
struct extent_buffer *eb, int wait, int mirror_num)
{
unsigned long i;
int i;
struct page *page;
int err;
int ret = 0;
int locked_pages = 0;
int all_uptodate = 1;
unsigned long num_pages;
int num_pages;
unsigned long num_reads = 0;
struct bio *bio = NULL;
unsigned long bio_flags = 0;
Expand Down Expand Up @@ -5576,7 +5576,7 @@ void copy_extent_buffer_full(struct extent_buffer *dst,
struct extent_buffer *src)
{
int i;
unsigned num_pages;
int num_pages;

ASSERT(dst->len == src->len);

Expand Down
2 changes: 1 addition & 1 deletion fs/btrfs/extent_io.h
Original file line number Diff line number Diff line change
Expand Up @@ -440,7 +440,7 @@ int read_extent_buffer_pages(struct extent_io_tree *tree,
int mirror_num);
void wait_on_extent_buffer_writeback(struct extent_buffer *eb);

static inline unsigned long num_extent_pages(const struct extent_buffer *eb)
static inline int num_extent_pages(const struct extent_buffer *eb)
{
return (round_up(eb->start + eb->len, PAGE_SIZE) >> PAGE_SHIFT) -
(eb->start >> PAGE_SHIFT);
Expand Down

0 comments on commit cc5e31a

Please sign in to comment.