diff options
author | Emmanuel Dreyfus <manu@netbsd.org> | 2015-05-07 20:36:24 +0200 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2015-05-07 11:52:10 -0700 |
commit | 6f8f47b6cbfbe96bc1324d836ed4baeab112a2f2 (patch) | |
tree | a860418d0d69ed131ab57daede7a6cf198882240 /xlators | |
parent | cfe56c96ff435f916a7017f3252717cf0df151d9 (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
Backport of: I62341c670598670e47ea2f69ab94864f96588b18
BUG: 1212676
Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org>
Change-Id: I0f098153e76954bb85b5dca3f054a069e31dd94c
Reviewed-on: http://review.gluster.org/10653
Reviewed-by: Shyamsundar Ranganathan <srangana@redhat.com>
Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
Tested-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'xlators')
-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 d229dd69000..33f6099c6d1 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++; \ @@ -2641,7 +2642,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 22c843a5c77..ffabc820d70 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 = \ |