Liu Bo
2011-Aug-19 09:48 UTC
[PATCH] Btrfs: use do_div to avoid compile errors on 32bit box
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@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
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs"
in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Josef Bacik
2011-Aug-19 13:22 UTC
Re: [PATCH] Btrfs: use do_div to avoid compile errors on 32bit box
On Fri, Aug 19, 2011 at 05:48:44PM +0800, Liu Bo wrote:> 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@cn.fujitsu.com>Chris just left for vacation, can you send this to Linus/lkml so it gets pulled in. Thanks, Josef -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Liu Bo
2011-Aug-20 01:34 UTC
[PATCH] Btrfs: use do_div to avoid compile errors on 32bit box
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@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
liubo
2011-Aug-20 01:35 UTC
Re: [PATCH] Btrfs: use do_div to avoid compile errors on 32bit box
On 08/19/2011 09:22 PM, Josef Bacik wrote:> On Fri, Aug 19, 2011 at 05:48:44PM +0800, Liu Bo wrote: >> 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@cn.fujitsu.com> > > Chris just left for vacation, can you send this to Linus/lkml so it gets pulled > in. Thanks, >Already done. thanks, liubo> Josef > -- > To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >-- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
liubo
2011-Aug-20 01:46 UTC
Re: [PATCH] Btrfs: use do_div to avoid compile errors on 32bit box
On 08/20/2011 09:34 AM, Liu Bo wrote:> 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 >Sorry, guys, I just sent a wrong version. Plz ignore this one. I''m sorry. thanks, liubo> Signed-off-by: Liu Bo <liubo2009@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);-- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html