Commit b12d6869 authored by Josef Bacik's avatar Josef Bacik Committed by Chris Mason

Btrfs: convert all bug_ons in free-space-cache.c

All of these are logic checks to make sure we're not breaking anything, so
convert them over to ASSERT().  Thanks,
Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
Signed-off-by: default avatarChris Mason <chris.mason@fusionio.com>
parent 2e17c7c6
...@@ -308,7 +308,7 @@ static void io_ctl_unmap_page(struct io_ctl *io_ctl) ...@@ -308,7 +308,7 @@ static void io_ctl_unmap_page(struct io_ctl *io_ctl)
static void io_ctl_map_page(struct io_ctl *io_ctl, int clear) static void io_ctl_map_page(struct io_ctl *io_ctl, int clear)
{ {
BUG_ON(io_ctl->index >= io_ctl->num_pages); ASSERT(io_ctl->index < io_ctl->num_pages);
io_ctl->page = io_ctl->pages[io_ctl->index++]; io_ctl->page = io_ctl->pages[io_ctl->index++];
io_ctl->cur = kmap(io_ctl->page); io_ctl->cur = kmap(io_ctl->page);
io_ctl->orig = io_ctl->cur; io_ctl->orig = io_ctl->cur;
...@@ -728,7 +728,7 @@ static int __load_free_space_cache(struct btrfs_root *root, struct inode *inode, ...@@ -728,7 +728,7 @@ static int __load_free_space_cache(struct btrfs_root *root, struct inode *inode,
goto free_cache; goto free_cache;
} }
} else { } else {
BUG_ON(!num_bitmaps); ASSERT(num_bitmaps);
num_bitmaps--; num_bitmaps--;
e->bitmap = kzalloc(PAGE_CACHE_SIZE, GFP_NOFS); e->bitmap = kzalloc(PAGE_CACHE_SIZE, GFP_NOFS);
if (!e->bitmap) { if (!e->bitmap) {
...@@ -1028,7 +1028,7 @@ static int __btrfs_write_out_cache(struct btrfs_root *root, struct inode *inode, ...@@ -1028,7 +1028,7 @@ static int __btrfs_write_out_cache(struct btrfs_root *root, struct inode *inode,
leaf = path->nodes[0]; leaf = path->nodes[0];
if (ret > 0) { if (ret > 0) {
struct btrfs_key found_key; struct btrfs_key found_key;
BUG_ON(!path->slots[0]); ASSERT(path->slots[0]);
path->slots[0]--; path->slots[0]--;
btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]); btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);
if (found_key.objectid != BTRFS_FREE_SPACE_OBJECTID || if (found_key.objectid != BTRFS_FREE_SPACE_OBJECTID ||
...@@ -1116,7 +1116,7 @@ int btrfs_write_out_cache(struct btrfs_root *root, ...@@ -1116,7 +1116,7 @@ int btrfs_write_out_cache(struct btrfs_root *root,
static inline unsigned long offset_to_bit(u64 bitmap_start, u32 unit, static inline unsigned long offset_to_bit(u64 bitmap_start, u32 unit,
u64 offset) u64 offset)
{ {
BUG_ON(offset < bitmap_start); ASSERT(offset >= bitmap_start);
offset -= bitmap_start; offset -= bitmap_start;
return (unsigned long)(div_u64(offset, unit)); return (unsigned long)(div_u64(offset, unit));
} }
...@@ -1271,7 +1271,7 @@ tree_search_offset(struct btrfs_free_space_ctl *ctl, ...@@ -1271,7 +1271,7 @@ tree_search_offset(struct btrfs_free_space_ctl *ctl,
if (n) { if (n) {
entry = rb_entry(n, struct btrfs_free_space, entry = rb_entry(n, struct btrfs_free_space,
offset_index); offset_index);
BUG_ON(entry->offset > offset); ASSERT(entry->offset <= offset);
} else { } else {
if (fuzzy) if (fuzzy)
return entry; return entry;
...@@ -1335,7 +1335,7 @@ static int link_free_space(struct btrfs_free_space_ctl *ctl, ...@@ -1335,7 +1335,7 @@ static int link_free_space(struct btrfs_free_space_ctl *ctl,
{ {
int ret = 0; int ret = 0;
BUG_ON(!info->bitmap && !info->bytes); ASSERT(info->bytes || info->bitmap);
ret = tree_insert_offset(&ctl->free_space_offset, info->offset, ret = tree_insert_offset(&ctl->free_space_offset, info->offset,
&info->offset_index, (info->bitmap != NULL)); &info->offset_index, (info->bitmap != NULL));
if (ret) if (ret)
...@@ -1358,7 +1358,7 @@ static void recalculate_thresholds(struct btrfs_free_space_ctl *ctl) ...@@ -1358,7 +1358,7 @@ static void recalculate_thresholds(struct btrfs_free_space_ctl *ctl)
max_bitmaps = max(max_bitmaps, 1); max_bitmaps = max(max_bitmaps, 1);
BUG_ON(ctl->total_bitmaps > max_bitmaps); ASSERT(ctl->total_bitmaps <= max_bitmaps);
/* /*
* The goal is to keep the total amount of memory used per 1gb of space * The goal is to keep the total amount of memory used per 1gb of space
...@@ -1402,7 +1402,7 @@ static inline void __bitmap_clear_bits(struct btrfs_free_space_ctl *ctl, ...@@ -1402,7 +1402,7 @@ static inline void __bitmap_clear_bits(struct btrfs_free_space_ctl *ctl,
start = offset_to_bit(info->offset, ctl->unit, offset); start = offset_to_bit(info->offset, ctl->unit, offset);
count = bytes_to_bits(bytes, ctl->unit); count = bytes_to_bits(bytes, ctl->unit);
BUG_ON(start + count > BITS_PER_BITMAP); ASSERT(start + count <= BITS_PER_BITMAP);
bitmap_clear(info->bitmap, start, count); bitmap_clear(info->bitmap, start, count);
...@@ -1425,7 +1425,7 @@ static void bitmap_set_bits(struct btrfs_free_space_ctl *ctl, ...@@ -1425,7 +1425,7 @@ static void bitmap_set_bits(struct btrfs_free_space_ctl *ctl,
start = offset_to_bit(info->offset, ctl->unit, offset); start = offset_to_bit(info->offset, ctl->unit, offset);
count = bytes_to_bits(bytes, ctl->unit); count = bytes_to_bits(bytes, ctl->unit);
BUG_ON(start + count > BITS_PER_BITMAP); ASSERT(start + count <= BITS_PER_BITMAP);
bitmap_set(info->bitmap, start, count); bitmap_set(info->bitmap, start, count);
...@@ -1741,7 +1741,7 @@ static int insert_into_bitmap(struct btrfs_free_space_ctl *ctl, ...@@ -1741,7 +1741,7 @@ static int insert_into_bitmap(struct btrfs_free_space_ctl *ctl,
bitmap_info = tree_search_offset(ctl, offset_to_bitmap(ctl, offset), bitmap_info = tree_search_offset(ctl, offset_to_bitmap(ctl, offset),
1, 0); 1, 0);
if (!bitmap_info) { if (!bitmap_info) {
BUG_ON(added); ASSERT(added == 0);
goto new_bitmap; goto new_bitmap;
} }
...@@ -1881,7 +1881,7 @@ int __btrfs_add_free_space(struct btrfs_free_space_ctl *ctl, ...@@ -1881,7 +1881,7 @@ int __btrfs_add_free_space(struct btrfs_free_space_ctl *ctl,
if (ret) { if (ret) {
printk(KERN_CRIT "btrfs: unable to add free space :%d\n", ret); printk(KERN_CRIT "btrfs: unable to add free space :%d\n", ret);
BUG_ON(ret == -EEXIST); ASSERT(ret != -EEXIST);
} }
return ret; return ret;
...@@ -2369,7 +2369,7 @@ static int btrfs_bitmap_cluster(struct btrfs_block_group_cache *block_group, ...@@ -2369,7 +2369,7 @@ static int btrfs_bitmap_cluster(struct btrfs_block_group_cache *block_group,
rb_erase(&entry->offset_index, &ctl->free_space_offset); rb_erase(&entry->offset_index, &ctl->free_space_offset);
ret = tree_insert_offset(&cluster->root, entry->offset, ret = tree_insert_offset(&cluster->root, entry->offset,
&entry->offset_index, 1); &entry->offset_index, 1);
BUG_ON(ret); /* -EEXIST; Logic error */ ASSERT(!ret); /* -EEXIST; Logic error */
trace_btrfs_setup_cluster(block_group, cluster, trace_btrfs_setup_cluster(block_group, cluster,
total_found * ctl->unit, 1); total_found * ctl->unit, 1);
...@@ -2462,7 +2462,7 @@ setup_cluster_no_bitmap(struct btrfs_block_group_cache *block_group, ...@@ -2462,7 +2462,7 @@ setup_cluster_no_bitmap(struct btrfs_block_group_cache *block_group,
ret = tree_insert_offset(&cluster->root, entry->offset, ret = tree_insert_offset(&cluster->root, entry->offset,
&entry->offset_index, 0); &entry->offset_index, 0);
total_size += entry->bytes; total_size += entry->bytes;
BUG_ON(ret); /* -EEXIST; Logic error */ ASSERT(!ret); /* -EEXIST; Logic error */
} while (node && entry != last); } while (node && entry != last);
cluster->max_size = max_extent; cluster->max_size = max_extent;
...@@ -2853,7 +2853,7 @@ u64 btrfs_find_ino_for_alloc(struct btrfs_root *fs_root) ...@@ -2853,7 +2853,7 @@ u64 btrfs_find_ino_for_alloc(struct btrfs_root *fs_root)
ret = search_bitmap(ctl, entry, &offset, &count); ret = search_bitmap(ctl, entry, &offset, &count);
/* Logic error; Should be empty if it can't find anything */ /* Logic error; Should be empty if it can't find anything */
BUG_ON(ret); ASSERT(!ret);
ino = offset; ino = offset;
bitmap_clear_bits(ctl, entry, offset, 1); bitmap_clear_bits(ctl, entry, offset, 1);
......
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