Commit a31356b9 authored by David Sterba's avatar David Sterba

btrfs: don't use set/get token in leaf_space_used

The token is supposed to cache the last page used by the set/get
helpers. In leaf_space_used the first and last items are accessed, it's
not likely they'd be on the same page so there's some overhead caused
updating the token address but not using it.
Reviewed-by: default avatarJohannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 60d48e2e
...@@ -3507,19 +3507,17 @@ static int leaf_space_used(struct extent_buffer *l, int start, int nr) ...@@ -3507,19 +3507,17 @@ static int leaf_space_used(struct extent_buffer *l, int start, int nr)
{ {
struct btrfs_item *start_item; struct btrfs_item *start_item;
struct btrfs_item *end_item; struct btrfs_item *end_item;
struct btrfs_map_token token;
int data_len; int data_len;
int nritems = btrfs_header_nritems(l); int nritems = btrfs_header_nritems(l);
int end = min(nritems, start + nr) - 1; int end = min(nritems, start + nr) - 1;
if (!nr) if (!nr)
return 0; return 0;
btrfs_init_map_token(&token, l);
start_item = btrfs_item_nr(start); start_item = btrfs_item_nr(start);
end_item = btrfs_item_nr(end); end_item = btrfs_item_nr(end);
data_len = btrfs_token_item_offset(&token, start_item) + data_len = btrfs_item_offset(l, start_item) +
btrfs_token_item_size(&token, start_item); btrfs_item_size(l, start_item);
data_len = data_len - btrfs_token_item_offset(&token, end_item); data_len = data_len - btrfs_item_offset(l, end_item);
data_len += sizeof(struct btrfs_item) * nr; data_len += sizeof(struct btrfs_item) * nr;
WARN_ON(data_len < 0); WARN_ON(data_len < 0);
return data_len; return data_len;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment