From 0fdf6c9db5114c77cd846c71699eb877d41ad6ae Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 2 Jul 2015 12:43:09 -0400 Subject: build: Mac OS X build issues, no spinlock, need sys_lgetxattr use regular locks, use our syscall wrappers in libglusterfs Change-Id: I7e0d00956366806af041b69b65d1f169aa0d2ae2 BUG: 1238793 Signed-off-by: Kaleb S. KEITHLEY Reviewed-on: http://review.gluster.org/11515 Tested-by: Gluster Build System Reviewed-by: Niels de Vos Tested-by: NetBSD Build System --- contrib/timer-wheel/timer-wheel.h | 2 +- libglusterfs/src/locking.h | 9 ++++++++ tools/gfind_missing_files/Makefile.am | 2 ++ tools/gfind_missing_files/gcrawler.c | 24 ++++++++-------------- .../changelog/lib/src/gf-changelog-helpers.h | 2 +- 5 files changed, 22 insertions(+), 17 deletions(-) diff --git a/contrib/timer-wheel/timer-wheel.h b/contrib/timer-wheel/timer-wheel.h index faa941a240b..baa029ebb30 100644 --- a/contrib/timer-wheel/timer-wheel.h +++ b/contrib/timer-wheel/timer-wheel.h @@ -17,7 +17,7 @@ #ifndef __TIMER_WHEEL_H #define __TIMER_WHEEL_H -#include +#include "locking.h" #include "list.h" diff --git a/libglusterfs/src/locking.h b/libglusterfs/src/locking.h index a66cdc188db..24edf9aed44 100644 --- a/libglusterfs/src/locking.h +++ b/libglusterfs/src/locking.h @@ -12,6 +12,15 @@ #define _LOCKING_H #include +#ifdef GF_DARWIN_HOST_OS +#include +#define pthread_spinlock_t OSSpinLock +#define pthread_spin_lock(l) OSSpinLockLock(l) +#define pthread_spin_unlock(l) OSSpinLockUnlock(l) +#define pthread_spin_destroy(l) 0 +#define pthread_spin_init(l, v) (*l = v) +#endif + #if HAVE_SPINLOCK #define LOCK_INIT(x) pthread_spin_init (x, 0) diff --git a/tools/gfind_missing_files/Makefile.am b/tools/gfind_missing_files/Makefile.am index 456aad836b6..043c34c4182 100644 --- a/tools/gfind_missing_files/Makefile.am +++ b/tools/gfind_missing_files/Makefile.am @@ -9,6 +9,8 @@ EXTRA_DIST = gfind_missing_files.sh gfid_to_path.sh \ gfindmissingfiles_PROGRAMS = gcrawler gcrawler_SOURCES = gcrawler.c +gcrawler_LDADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +gcrawler_LDFLAGS = $(GF_LDFLAGS) AM_CPPFLAGS = $(GF_CPPFLAGS) -I$(top_srcdir)/libglusterfs/src diff --git a/tools/gfind_missing_files/gcrawler.c b/tools/gfind_missing_files/gcrawler.c index 517e773cb7c..6be8e48364d 100644 --- a/tools/gfind_missing_files/gcrawler.c +++ b/tools/gfind_missing_files/gcrawler.c @@ -12,21 +12,15 @@ #include #include #include -#include #include #include #include #include +#include "locking.h" -#ifndef __FreeBSD__ -#ifdef __NetBSD__ -#include -#else -#include -#endif /* __NetBSD__ */ -#endif /* __FreeBSD__ */ - +#include "compat.h" #include "list.h" +#include "syscall.h" #define THREAD_MAX 32 #define BUMP(name) INC(name, 1) @@ -325,7 +319,7 @@ xworker_do_crawl (struct xwork *xwork, struct dirjob *job) tdbg ("Entering: %s\n", job->dirname); - dirp = opendir (job->dirname); + dirp = sys_opendir (job->dirname); if (!dirp) { terr ("opendir failed on %s (%s)\n", job->dirname, strerror (errno)); @@ -387,7 +381,7 @@ xworker_do_crawl (struct xwork *xwork, struct dirjob *job) ret = 0; out: if (dirp) - closedir (dirp); + sys_closedir (dirp); return ret; } @@ -527,15 +521,15 @@ parse_and_validate_args (int argc, char *argv[]) } basedir = argv[1]; - ret = lstat (basedir, &d); + ret = sys_lstat (basedir, &d); if (ret) { err ("%s: %s\n", basedir, strerror (errno)); return NULL; } #ifndef __FreeBSD__ - ret = lgetxattr (basedir, "trusted.glusterfs.volume-id", - volume_id, 16); + ret = sys_lgetxattr (basedir, "trusted.glusterfs.volume-id", + volume_id, 16); if (ret != 16) { err ("%s:Not a valid brick path.\n", basedir); return NULL; @@ -543,7 +537,7 @@ parse_and_validate_args (int argc, char *argv[]) #endif /* __FreeBSD__ */ slv_mnt = argv[2]; - ret = lstat (slv_mnt, &d); + ret = sys_lstat (slv_mnt, &d); if (ret) { err ("%s: %s\n", slv_mnt, strerror (errno)); return NULL; diff --git a/xlators/features/changelog/lib/src/gf-changelog-helpers.h b/xlators/features/changelog/lib/src/gf-changelog-helpers.h index adde1e57bbf..bd21e4df035 100644 --- a/xlators/features/changelog/lib/src/gf-changelog-helpers.h +++ b/xlators/features/changelog/lib/src/gf-changelog-helpers.h @@ -14,7 +14,7 @@ #include #include #include -#include +#include "locking.h" #include -- cgit