Fix 64-bit divide error in btrfs
This commit is contained in:
parent
c3c2b77d29
commit
7aac3ebb1e
38
btrfs-use-do_div.patch
Normal file
38
btrfs-use-do_div.patch
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
From: Liu Bo <liubo2009 <at> 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 <liubo2009 <at> 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
|
@ -51,7 +51,7 @@ Summary: The Linux kernel
|
|||||||
# For non-released -rc kernels, this will be prepended with "0.", so
|
# For non-released -rc kernels, this will be prepended with "0.", so
|
||||||
# for example a 3 here will become 0.3
|
# for example a 3 here will become 0.3
|
||||||
#
|
#
|
||||||
%global baserelease 0
|
%global baserelease 1
|
||||||
%global fedora_build %{baserelease}
|
%global fedora_build %{baserelease}
|
||||||
|
|
||||||
# base_sublevel is the kernel version we're starting with and patching
|
# base_sublevel is the kernel version we're starting with and patching
|
||||||
@ -720,6 +720,7 @@ Patch12026: block-stray-block-put-after-teardown.patch
|
|||||||
Patch12027: usb-add-quirk-for-logitech-webcams.patch
|
Patch12027: usb-add-quirk-for-logitech-webcams.patch
|
||||||
Patch12028: fix-perf-build.patch
|
Patch12028: fix-perf-build.patch
|
||||||
Patch12029: crypto-register-cryptd-first.patch
|
Patch12029: crypto-register-cryptd-first.patch
|
||||||
|
Patch12030: btrfs-use-do_div.patch
|
||||||
|
|
||||||
|
|
||||||
# Runtime power management
|
# Runtime power management
|
||||||
@ -1347,6 +1348,7 @@ ApplyPatch usb-add-quirk-for-logitech-webcams.patch
|
|||||||
|
|
||||||
ApplyPatch fix-perf-build.patch
|
ApplyPatch fix-perf-build.patch
|
||||||
ApplyPatch crypto-register-cryptd-first.patch
|
ApplyPatch crypto-register-cryptd-first.patch
|
||||||
|
ApplyPatch btrfs-use-do_div.patch
|
||||||
|
|
||||||
# Runtime PM
|
# Runtime PM
|
||||||
#ApplyPatch linux-2.6-usb-pci-autosuspend.patch
|
#ApplyPatch linux-2.6-usb-pci-autosuspend.patch
|
||||||
@ -2072,6 +2074,9 @@ fi
|
|||||||
# ||----w |
|
# ||----w |
|
||||||
# || ||
|
# || ||
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Aug 19 2011 Josh Boyer <jwboyer@redhat.com>
|
||||||
|
- Add patch from upstream to fix 64-bit divide error in btrfs
|
||||||
|
|
||||||
* Fri Aug 19 2011 Josh Boyer <jwboyer@redhat.com>
|
* Fri Aug 19 2011 Josh Boyer <jwboyer@redhat.com>
|
||||||
- Linux 3.1-rc2-git5
|
- Linux 3.1-rc2-git5
|
||||||
- Change XHCI to builtin (rhbz 731706)
|
- Change XHCI to builtin (rhbz 731706)
|
||||||
|
Loading…
Reference in New Issue
Block a user