summaryrefslogtreecommitdiffstats
path: root/sys/cddl
diff options
context:
space:
mode:
authordelphij <delphij@FreeBSD.org>2014-01-02 03:24:44 +0000
committerdelphij <delphij@FreeBSD.org>2014-01-02 03:24:44 +0000
commit05d7d24d7eedde3ccfe790d7abc1b059250fd27c (patch)
treee5b020ce55d27b654e5e7dcb17168811c1910f20 /sys/cddl
parent35f224ca288bfdfa32b7997370943432d086778f (diff)
downloadFreeBSD-src-05d7d24d7eedde3ccfe790d7abc1b059250fd27c.zip
FreeBSD-src-05d7d24d7eedde3ccfe790d7abc1b059250fd27c.tar.gz
Fix build on platforms where atomic_swap_64 is not available.
Diffstat (limited to 'sys/cddl')
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c
index e69fcd3..7540320 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c
@@ -312,8 +312,12 @@ feature_sync(spa_t *spa, zfeature_info_t *feature, uint64_t refcount,
if (feature->fi_feature != SPA_FEATURE_NONE) {
uint64_t *refcount_cache =
&spa->spa_feat_refcount_cache[feature->fi_feature];
+#ifdef atomic_swap_64
VERIFY3U(*refcount_cache, ==,
atomic_swap_64(refcount_cache, refcount));
+#else
+ *refcount_cache = refcount;
+#endif
}
if (refcount == 0)
OpenPOWER on IntegriCloud