diff --git a/btrfs-use-do_div.patch b/btrfs-use-do_div.patch new file mode 100644 index 000000000..e32907ddb --- /dev/null +++ b/btrfs-use-do_div.patch @@ -0,0 +1,38 @@ +From: Liu Bo cn.fujitsu.com> +Subject: [PATCH] Btrfs: use do_div to avoid compile errors on 32bit box +Date: 2011-08-19 09:48:44 GMT (3 hours and 36 minutes ago) + +When doing div operation of u64 type, we need to be careful and use do_div +to avoid compile ERROR on 32bit box: + +"ERROR: "__udivdi3" [fs/btrfs/btrfs.ko] undefined! +make[1]: *** [__modpost] Error 1 + +Signed-off-by: Liu Bo cn.fujitsu.com> +--- + fs/btrfs/extent-tree.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c +index 80d6148..9b495ce 100644 +--- a/fs/btrfs/extent-tree.c ++++ b/fs/btrfs/extent-tree.c +@@ -6796,14 +6796,14 @@ 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; ++ do_div(min_free, 2); + } else if (index == 1) { + dev_min = 2; + } else if (index == 2) { + min_free *= 2; + } 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); +-- +1.6.5.2 diff --git a/kernel.spec b/kernel.spec index 83e480b48..7d2d1a846 100644 --- a/kernel.spec +++ b/kernel.spec @@ -51,7 +51,7 @@ Summary: The Linux kernel # For non-released -rc kernels, this will be prepended with "0.", so # for example a 3 here will become 0.3 # -%global baserelease 0 +%global baserelease 1 %global fedora_build %{baserelease} # base_sublevel is the kernel version we're starting with and patching @@ -719,6 +719,7 @@ Patch12025: rcu-avoid-just-onlined-cpu-resched.patch Patch12026: block-stray-block-put-after-teardown.patch Patch12027: usb-add-quirk-for-logitech-webcams.patch Patch12029: crypto-register-cryptd-first.patch +Patch12030: btrfs-use-do_div.patch # Runtime power management Patch12203: linux-2.6-usb-pci-autosuspend.patch @@ -1345,6 +1346,7 @@ ApplyPatch block-stray-block-put-after-teardown.patch ApplyPatch usb-add-quirk-for-logitech-webcams.patch ApplyPatch crypto-register-cryptd-first.patch +ApplyPatch btrfs-use-do_div.patch # Runtime PM #ApplyPatch linux-2.6-usb-pci-autosuspend.patch @@ -2061,6 +2063,9 @@ fi # and build. %changelog +* Fri Aug 19 2011 Josh Boyer +- Add patch from upstream to fix 64-bit divide error in btrfs + * Fri Aug 19 2011 Josh Boyer - Linux 3.1-rc2-git5 - Change XHCI to builtin (rhbz 731706)