On 2019-10-07 10:00, Andriy Gapon wrote:
Author: avg
Date: Mon Oct 7 08:00:54 2019
New Revision: 353168
URL: https://svnweb.freebsd.org/changeset/base/353168
Log:
ZFS: unconditionally use atomic_swap_64
Previously, the code used a plain store on platforms that lacked
atomic_swap_64 and possibly some other platforms as the condition worked
only if atomic_swap_64 was a macro.
MFC after: 1 week
X-MFC after: r353166, r353167
Modified:
head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c
Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c Mon Oct
7 07:54:34 2019 (r353167)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c Mon Oct
7 08:00:54 2019 (r353168)
@@ -313,12 +313,8 @@ feature_sync(spa_t *spa, zfeature_info_t *feature, uin
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)
Hi,
Is this yours for i386?
You maybe need to include:
/sys/i386/include/atomic.h:atomic_swap_64(volatile uint64_t *p, uint64_t v)
--HPS
09:27:46 --- gdtoa_dtoa.po ---
09:27:46 --- all_subdir_rescue ---
09:27:46 ld: error: undefined symbol: atomic_swap_64
09:27:46 >>> referenced by zfeature.c:316
(/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c:316)
09:27:46 >>> zfeature.o:(feature_sync) in archive
/usr/obj/usr/src/i386.i386/tmp/usr/lib/libzpool.a
09:27:46
09:27:46 ld: error: undefined symbol: atomic_swap_64
09:27:46 >>> referenced by dmu_object.c:195
(/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c:195)
09:27:46 >>> dmu_object.o:(dmu_object_alloc_impl) in archive
/usr/obj/usr/src/i386.i386/tmp/usr/lib/libzpool.a
09:27:46
09:27:46 ld: error: undefined symbol: atomic_swap_64
09:27:46 >>> referenced by dmu_object.c:149
(/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c:149)
09:27:46 >>> dmu_object.o:(dmu_object_alloc_impl) in archive
/usr/obj/usr/src/i386.i386/tmp/usr/lib/libzpool.a
09:27:46 --- all_subdir_lib ---
09:27:46 --- gdtoa_gdtoa.po ---
09:27:46 --- gdtoa_dtoa.po ---
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"