diff options
-rw-r--r-- | bit-radix.c | 2 | ||||
-rw-r--r-- | extent-tree.c | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/bit-radix.c b/bit-radix.c index cd9928a3..7509b31a 100644 --- a/bit-radix.c +++ b/bit-radix.c @@ -88,7 +88,7 @@ static unsigned long __ffs(unsigned long word) if (sizeof(long) == 8 && (word & 0xffffffff) == 0) { num += 32; - word >>= 32; + word >>= sizeof(long) * 4; } if ((word & 0xffff) == 0) { num += 16; diff --git a/extent-tree.c b/extent-tree.c index 82952ef9..5b3c3da4 100644 --- a/extent-tree.c +++ b/extent-tree.c @@ -299,9 +299,10 @@ static int __free_extent(struct btrfs_trans_handle *trans, struct btrfs_root u64 super_blocks_used; if (pin) { int err; + unsigned long bl = blocknr; radix_tree_preload(GFP_KERNEL); err = radix_tree_insert(&info->pinned_radix, - blocknr, (void *)blocknr); + blocknr, (void *)bl); BUG_ON(err); radix_tree_preload_end(); } |