From ba4f8cb41141ce5c03eb480c66ef7730eecf2efd Mon Sep 17 00:00:00 2001 From: Eric Sandeen Date: Fri, 26 Apr 2013 16:06:07 -0500 Subject: Btrfs-progs: cleanup duplicated division functions div_factor has been implemented for two times, cleanup it. And I move them into a independent file named math.h because they are common math functions. [Eric Sandeen: port kernel commit 3fed40c to userspace] Signed-off-by: Miao Xie Signed-off-by: Eric Sandeen Signed-off-by: David Sterba Signed-off-by: Chris Mason --- extent-tree.c | 10 +--------- math.h | 33 +++++++++++++++++++++++++++++++++ volumes.c | 9 +-------- 3 files changed, 35 insertions(+), 17 deletions(-) create mode 100644 math.h diff --git a/extent-tree.c b/extent-tree.c index 63b1a386..e4582682 100644 --- a/extent-tree.c +++ b/extent-tree.c @@ -27,6 +27,7 @@ #include "crc32c.h" #include "volumes.h" #include "free-space-cache.h" +#include "math.h" #define PENDING_EXTENT_INSERT 0 #define PENDING_EXTENT_DELETE 1 @@ -300,15 +301,6 @@ wrapped: goto again; } -static u64 div_factor(u64 num, int factor) -{ - if (factor == 10) - return num; - num *= factor; - num /= 10; - return num; -} - static int block_group_state_bits(u64 flags) { int bits = 0; diff --git a/math.h b/math.h new file mode 100644 index 00000000..482dba33 --- /dev/null +++ b/math.h @@ -0,0 +1,33 @@ + +/* + * Copyright (C) 2012 Fujitsu. All rights reserved. + * Written by Miao Xie + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License v2 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 021110-1307, USA. + */ + +#ifndef __BTRFS_MATH_H +#define __BTRFS_MATH_H + +static inline u64 div_factor(u64 num, int factor) +{ + if (factor == 10) + return num; + num *= factor; + num /= 10; + return num; +} + +#endif diff --git a/volumes.c b/volumes.c index 0ff22833..10fdc487 100644 --- a/volumes.c +++ b/volumes.c @@ -29,6 +29,7 @@ #include "transaction.h" #include "print-tree.h" #include "volumes.h" +#include "math.h" struct stripe { struct btrfs_device *dev; @@ -630,14 +631,6 @@ int btrfs_add_system_chunk(struct btrfs_trans_handle *trans, return 0; } -static u64 div_factor(u64 num, int factor) -{ - if (factor == 10) - return num; - num *= factor; - return num / 10; -} - static u64 chunk_bytes_by_type(u64 type, u64 calc_size, int num_stripes, int sub_stripes) { -- cgit v1.2.3