From: Sage Weil Date: Wed, 30 Jul 2014 21:52:06 +0000 (-0700) Subject: atomic: fix read() on i386, clean up types X-Git-Tag: v0.80.6~103^2~2^2~11 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=da0de4ee973d9a9c8ee6f9a5c12eb37c83b4d453;p=ceph.git atomic: fix read() on i386, clean up types Among other things, fixes #8969 Backport: firefly Signed-off-by: Sage Weil (cherry picked from commit 96863128e6668257f435c6962263caae0d7d10dd) --- diff --git a/src/include/atomic.h b/src/include/atomic.h index 88c9bfd3871..c1650bef51a 100644 --- a/src/include/atomic.h +++ b/src/include/atomic.h @@ -36,7 +36,7 @@ namespace ceph { ~atomic_spinlock_t() { ceph_spin_destroy(&lock); } - void set(size_t v) { + void set(T v) { ceph_spin_lock(&lock); val = v; ceph_spin_unlock(&lock); @@ -64,7 +64,7 @@ namespace ceph { ceph_spin_unlock(&lock); } T read() const { - signed long ret; + T ret; ceph_spin_lock(&lock); ret = val; ceph_spin_unlock(&lock); @@ -91,7 +91,7 @@ namespace ceph { AO_t val; public: atomic_t(AO_t i=0) : val(i) {} - void set(size_t v) { + void set(AO_t v) { AO_store(&val, v); } AO_t inc() { @@ -103,8 +103,8 @@ namespace ceph { void add(AO_t add_me) { AO_fetch_and_add(&val, add_me); } - void sub(int sub_me) { - int negsub = 0 - sub_me; + void sub(AO_t sub_me) { + AO_t negsub = 0 - sub_me; AO_fetch_and_add_write(&val, (AO_t)negsub); } AO_t read() const { @@ -134,8 +134,8 @@ namespace ceph { #include "include/Spinlock.h" namespace ceph { - typedef atomic_spinlock_t atomic_t; - typedef atomic_spinlock_t atomic64_t; + typedef atomic_spinlock_t atomic_t; + typedef atomic_spinlock_t atomic64_t; } #endif