diff options
author | Emmanuel Dreyfus <manu@netbsd.org> | 2015-05-07 20:28:11 +0200 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2015-05-07 11:46:47 -0700 |
commit | 865aa4ebdd71d39f8e8ae59b40d993edb4a62708 (patch) | |
tree | 18b7c8d59d8050a4e9a75a87ab706ad612128b9d | |
parent | 7f950ed3ae4f99542ba4bbabec5fc1a86850a528 (diff) |
Restore build on non Linux systems
This change broke the build on NetBSD, FreeBSD, and MacOS X:
http://review.gluster.org/10526/
We restore the build with two fixes:
- Use POSIX-compliant sysconf(_SC_NPROCESSORS_ONLN) to get the
number of processors, instead of Linux specific get_nprocs().
That let us remove Linux-specific #include <sys/sysinfo.h>
- Only define MAX() if it is not already defined. NetBSD defines
it in <sys/param.h> which is already included
BUG: 1129939
Change-Id: I62341c670598670e47ea2f69ab94864f96588b18
Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org>
Reviewed-on: http://review.gluster.org/10652
Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
Tested-by: Vijay Bellur <vbellur@redhat.com>
-rw-r--r-- | xlators/cluster/dht/src/dht-rebalance.c | 5 | ||||
-rw-r--r-- | xlators/cluster/dht/src/dht-shared.c | 6 |
2 files changed, 7 insertions, 4 deletions
diff --git a/xlators/cluster/dht/src/dht-rebalance.c b/xlators/cluster/dht/src/dht-rebalance.c index 0a29ba30d3d..69d6f86019f 100644 --- a/xlators/cluster/dht/src/dht-rebalance.c +++ b/xlators/cluster/dht/src/dht-rebalance.c @@ -19,7 +19,6 @@ #include <signal.h> #include <fnmatch.h> #include <signal.h> -#include <sys/sysinfo.h> #define GF_DISK_SECTOR_SIZE 512 #define DHT_REBALANCE_PID 4242 /* Change it if required */ @@ -28,7 +27,9 @@ #define MAX_MIGRATE_QUEUE_COUNT 500 #define MIN_MIGRATE_QUEUE_COUNT 200 +#ifndef MAX #define MAX(a, b) (((a) > (b))?(a):(b)) +#endif #define GF_CRAWL_INDEX_MOVE(idx, sv_cnt) { \ idx++; \ @@ -2640,7 +2641,7 @@ gf_defrag_start_crawl (void *data) INIT_LIST_HEAD (&(defrag->queue[0].list)); - thread_spawn_count = MAX ((get_nprocs() - 4), 4); + thread_spawn_count = MAX ((sysconf(_SC_NPROCESSORS_ONLN) - 4), 4); gf_log (this->name, GF_LOG_DEBUG, "thread_spawn_count: %d", thread_spawn_count); diff --git a/xlators/cluster/dht/src/dht-shared.c b/xlators/cluster/dht/src/dht-shared.c index 0ab81c37890..04e96127ec6 100644 --- a/xlators/cluster/dht/src/dht-shared.c +++ b/xlators/cluster/dht/src/dht-shared.c @@ -15,12 +15,13 @@ #endif /* TODO: add NS locking */ -#include <sys/sysinfo.h> #include "statedump.h" #include "dht-common.h" #include "dht-messages.h" +#ifndef MAX #define MAX(a, b) (((a) > (b))?(a):(b)) +#endif #define GF_DECIDE_DEFRAG_THROTTLE_COUNT(throttle_count, conf) { \ \ @@ -29,7 +30,8 @@ if (!strcasecmp (conf->dthrottle, "lazy")) \ conf->defrag->recon_thread_count = 1; \ \ - throttle_count = MAX ((get_nprocs() - 4), 4); \ + throttle_count = \ + MAX ((sysconf(_SC_NPROCESSORS_ONLN) - 4), 4); \ \ if (!strcasecmp (conf->dthrottle, "normal")) \ conf->defrag->recon_thread_count = \ |