From e4fc94caa6c62ab148053bb8ea263b20e3898e19 Mon Sep 17 00:00:00 2001 From: Josef Bacik Date: Sat, 20 Aug 2011 08:29:51 -0400 Subject: [PATCH] --- yaml --- r: 263171 b: refs/heads/master c: 6719db6a23d4b7f1e5052eedae394135e3aef9c1 h: refs/heads/master i: 263169: 49e7f8d45ee05255ae553b12a36c55667c825a6e 263167: b80f9c74578d1a2ae817d47e4d9e75929a2a2da9 v: v3 --- [refs] | 2 +- trunk/fs/btrfs/extent-tree.c | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 4c187cdb4704..d0f4cd86fc4f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c063d8a60fc912ae198f054608ad461a69dc9a19 +refs/heads/master: 6719db6a23d4b7f1e5052eedae394135e3aef9c1 diff --git a/trunk/fs/btrfs/extent-tree.c b/trunk/fs/btrfs/extent-tree.c index 80d6148f60ac..f5be06a2462f 100644 --- a/trunk/fs/btrfs/extent-tree.c +++ b/trunk/fs/btrfs/extent-tree.c @@ -6735,9 +6735,9 @@ int btrfs_can_relocate(struct btrfs_root *root, u64 bytenr) struct btrfs_fs_devices *fs_devices = root->fs_info->fs_devices; struct btrfs_device *device; u64 min_free; + u64 dev_min = 1; + u64 dev_nr = 0; int index; - int dev_nr = 0; - int dev_min = 1; int full = 0; int ret = 0; @@ -6796,14 +6796,16 @@ int btrfs_can_relocate(struct btrfs_root *root, u64 bytenr) index = get_block_group_index(block_group); if (index == 0) { dev_min = 4; - min_free /= 2; + /* Divide by 2 */ + min_free >>= 1; } else if (index == 1) { dev_min = 2; } else if (index == 2) { - min_free *= 2; + /* Multiply by 2 */ + min_free <<= 1; } else if (index == 3) { dev_min = fs_devices->rw_devices; - min_free /= dev_min; + do_div(min_free, dev_min); } mutex_lock(&root->fs_info->chunk_mutex);