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 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
|
||||
@ -720,6 +720,7 @@ Patch12026: block-stray-block-put-after-teardown.patch
|
||||
Patch12027: usb-add-quirk-for-logitech-webcams.patch
|
||||
Patch12028: fix-perf-build.patch
|
||||
Patch12029: crypto-register-cryptd-first.patch
|
||||
Patch12030: btrfs-use-do_div.patch
|
||||
|
||||
|
||||
# Runtime power management
|
||||
@ -1347,6 +1348,7 @@ ApplyPatch usb-add-quirk-for-logitech-webcams.patch
|
||||
|
||||
ApplyPatch fix-perf-build.patch
|
||||
ApplyPatch crypto-register-cryptd-first.patch
|
||||
ApplyPatch btrfs-use-do_div.patch
|
||||
|
||||
# Runtime PM
|
||||
#ApplyPatch linux-2.6-usb-pci-autosuspend.patch
|
||||
@ -2072,6 +2074,9 @@ fi
|
||||
# ||----w |
|
||||
# || ||
|
||||
%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>
|
||||
- Linux 3.1-rc2-git5
|
||||
- Change XHCI to builtin (rhbz 731706)
|
||||
|
Loading…
Reference in New Issue
Block a user