-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PANIC at range_tree.c:304:range_tree_find_impl() #8637
Comments
correct |
Finally I was able to access the dataset. I listed the available transactions:
then I tried several transaction ids. Finally one transaction worked:
It took more than two hours to finish the |
I hit the same https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1861235 Thanks |
@setharnold can you elaborate with some more details? |
What is interesting is the following commit modifies range_tree_clear() so it performs a zero size check and returns before calling range_tree_find_impl(). This commit is not in 18.10 and 19.04 Ubuntu ZFS releases. commit a1d477c
the specific change is:
I'm not sure why this check was added, but I guess it handles the cases were zero sized allocations are allowed and stops these from doing any unnecessary clearing and avoids the assertion. But the semantics change is not clear in the commit message. @behlendorf - do you see any reason why backporting this 3 liner change is a bad idea for older releases. My guess is that it will fix this issue w/o any problems. |
@ColinIanKing that should prevent the VERIFY failure in Are you by chance able to reproduce the issue? If so As for the early return added to |
Thanks for the analysis. I'll see if I can work this to pop out a reproducer somehow and then get some debug/instrumentation in the code to see why it's occurring |
In this scenario, dmu_object_free has been called and this calls dnode_free_range using dnode_free_range(dn, 0, DMU_OBJECT_END, tx) In this case, in dnode_free_range len is DMU_OBJECT_END and offset is 0, so..:
makes len is UINT64_MAX and trunc = TRUE. If one follows the code through we have this stanza:
and this is the last place nblks gets updated. This implies blkshift is zero, nblks = UINT64_MAX >> 0 is UINT64_MAX, trunc is TRUE so nblks +=1 wraps nblks back to 0, hence the assert later on. For blkshift to be zero blksz dn->dn_datablksz is zero, so this looks like some form of corruption. Any ideas? |
I noted that the earlier report mentioned that zfs had hung and the machine was forcefully rebooted. Could that create a broken dnode object that causes this kind of issue? If so, is there a way to fix these up like a fsck or something? |
Everything is written transactionally so it's not possible to have a half updated dnode for example. Even if the node was hard power cycled. It is definitely possible there's some other subtle bug which caused us to write out a damaged dnode, and we only hit this error when trying to free it. If you're able to reproduce this, can you try the following to get some more information. You may have already tried this, but let's enable the dnode verification checks. If you build zfs with the Now, if you have a pool which hit this we can do a little better and use
This makes sense and backs up the corruption idea. In this case, if the datablkshift is 0 then we wouldn't expect the object to have any data blocks which need to be freed. We'd expect to hit one of the early returns in |
Added more debug, I get the following dn_type that trips the crash: dmu_object_free: object = 0x211, dn->dn_type = 32 I believe dn_type 32 is DMU_OT_DSL_PERMS |
|
Any ideas what to do with a broken object like the above? |
It definitely appears that at a minimum the dnode is badly damaged. The "(K=UNKNOWN) (Z=UNKNOWN)" output indicates that both the checksum and compression types are not valid. It's reasonable to suspect the the rest of the dnode contents aren't valid either. There are a couple options available. Did you by chance try importing the pool and mounting the data set when building with Updating the |
I wasn't able to build the module with debug support. In
and hit the following build errors: build errorsDKMS make.log for zfs-0.7.5 for kernel 4.15.0-106-generic (x86_64) Fri Jun 5 17:59:58 PDT 2020 make all-recursive make[1]: Entering directory '/var/lib/dkms/zfs/0.7.5/build' Making all in module make[2]: Entering directory '/var/lib/dkms/zfs/0.7.5/build/module' list='icp'; for targetdir in $list; do \ make -C $targetdir; \ done make[3]: Entering directory '/var/lib/dkms/zfs/0.7.5/build/module/icp' mkdir -p api core spi io os algs algs/aes algs/edonr algs/modes algs/sha1 algs/sha2 algs/skein asm-x86_64 asm-x86_64/aes asm-x86_64/modes asm-x86_64/sha1 asm-x86_64/sha2 asm-i386 asm-generic make[3]: Leaving directory '/var/lib/dkms/zfs/0.7.5/build/module/icp' make -C /lib/modules/4.15.0-106-generic/build M=`pwd` CONFIG_ZFS=m modules make[3]: Entering directory '/usr/src/linux-headers-4.15.0-106-generic' CC [M] /var/lib/dkms/zfs/0.7.5/build/module/icp/illumos-crypto.o CC [M] /var/lib/dkms/zfs/0.7.5/build/module/nvpair/nvpair.o [...] CC [M] /var/lib/dkms/zfs/0.7.5/build/module/zfs/dsl_synctask.o AS [M] /var/lib/dkms/zfs/0.7.5/build/module/icp/asm-x86_64/sha2/sha256_impl.o AS [M] /var/lib/dkms/zfs/0.7.5/build/module/icp/asm-x86_64/sha2/sha512_impl.o /var/lib/dkms/zfs/0.7.5/build/module/icp/asm-x86_64/sha1/sha1-x86_64.o: warning: objtool: sha1_block_data_order()+0x11: unsupported stack pointer realignment CC [M] /var/lib/dkms/zfs/0.7.5/build/module/zfs/edonr_zfs.o CC [M] /var/lib/dkms/zfs/0.7.5/build/module/zfs/fm.o /var/lib/dkms/zfs/0.7.5/build/module/icp/asm-x86_64/sha2/sha256_impl.o: warning: objtool: SHA256TransformBlocks()+0x19: unsupported stack pointer realignment /var/lib/dkms/zfs/0.7.5/build/module/icp/asm-x86_64/sha2/sha512_impl.o: warning: objtool: SHA512TransformBlocks()+0x1c: unsupported stack pointer realignment CC [M] /var/lib/dkms/zfs/0.7.5/build/module/zfs/gzip.o CC [M] /var/lib/dkms/zfs/0.7.5/build/module/zfs/lzjb.o CC [M] /var/lib/dkms/zfs/0.7.5/build/module/zfs/lz4.o [...] CC [M] /var/lib/dkms/zfs/0.7.5/build/module/zfs/space_reftree.o CC [M] /var/lib/dkms/zfs/0.7.5/build/module/zfs/txg.o CC [M] /var/lib/dkms/zfs/0.7.5/build/module/zfs/trace.o /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:58:1: error: conflicting types for ‘refcount_create’ refcount_create(refcount_t *rc) ^~~~~~~~~~~~~~~ In file included from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:27:0: /var/lib/dkms/zfs/0.7.5/build/include/sys/refcount.h:65:6: note: previous declaration of ‘refcount_create’ was here void refcount_create(zfs_refcount_t *rc); ^~~~~~~~~~~~~~~ In file included from /usr/src/spl-0.7.5/include/sys/t_lock.h:29:0, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:35, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c: In function ‘refcount_create’: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:60:16: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_init(&rc->rc_mtx, NULL, MUTEX_DEFAULT, NULL); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:49:24: note: in definition of macro ‘MUTEX’ #define MUTEX(mp) (&((mp)->m_mutex)) ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:60:2: note: in expansion of macro ‘mutex_init’ mutex_init(&rc->rc_mtx, NULL, MUTEX_DEFAULT, NULL); ^~~~~~~~~~ In file included from ./include/linux/seqlock.h:36:0, from ./include/linux/time.h:6, from ./include/linux/stat.h:19, from ./include/linux/module.h:10, from /usr/src/spl-0.7.5/include/sys/sysmacros.h:28, from /usr/src/spl-0.7.5/include/sys/types.h:29, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:34, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:60:16: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_init(&rc->rc_mtx, NULL, MUTEX_DEFAULT, NULL); ^ ./include/linux/spinlock.h:304:17: note: in definition of macro ‘spin_lock_init’ spinlock_check(_lock); \ ^~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:60:2: note: in expansion of macro ‘mutex_init’ mutex_init(&rc->rc_mtx, NULL, MUTEX_DEFAULT, NULL); ^~~~~~~~~~ In file included from ./include/linux/seqlock.h:36:0, from ./include/linux/time.h:6, from ./include/linux/stat.h:19, from ./include/linux/module.h:10, from /usr/src/spl-0.7.5/include/sys/sysmacros.h:28, from /usr/src/spl-0.7.5/include/sys/types.h:29, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:34, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:60:16: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_init(&rc->rc_mtx, NULL, MUTEX_DEFAULT, NULL); ^ ./include/linux/spinlock.h:105:9: note: in definition of macro ‘raw_spin_lock_init’ do { *(lock) = __RAW_SPIN_LOCK_UNLOCKED(lock); } while (0) ^~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:105:2: note: in expansion of macro ‘spin_lock_init’ spin_lock_init(&(mp)->m_lock); \ ^~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:60:2: note: in expansion of macro ‘mutex_init’ mutex_init(&rc->rc_mtx, NULL, MUTEX_DEFAULT, NULL); ^~~~~~~~~~ In file included from /usr/src/spl-0.7.5/include/sys/t_lock.h:29:0, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:35, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:60:16: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_init(&rc->rc_mtx, NULL, MUTEX_DEFAULT, NULL); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:106:24: note: in definition of macro ‘mutex_init’ spl_mutex_clear_owner(mp); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:61:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_list’ list_create(&rc->rc_list, sizeof (reference_t), ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:63:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_removed’ list_create(&rc->rc_removed, sizeof (reference_t), ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:65:4: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_count’ rc->rc_count = 0; ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:66:4: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_removed_count’ rc->rc_removed_count = 0; ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:67:4: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_tracked’ rc->rc_tracked = reference_tracking_enable; ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c: At top level: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:71:1: error: conflicting types for ‘refcount_create_tracked’ refcount_create_tracked(refcount_t *rc) ^~~~~~~~~~~~~~~~~~~~~~~ In file included from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:27:0: /var/lib/dkms/zfs/0.7.5/build/include/sys/refcount.h:67:6: note: previous declaration of ‘refcount_create_tracked’ was here void refcount_create_tracked(zfs_refcount_t *rc); ^~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c: In function ‘refcount_create_tracked’: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:74:4: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_tracked’ rc->rc_tracked = B_TRUE; ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c: At top level: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:78:1: error: conflicting types for ‘refcount_create_untracked’ refcount_create_untracked(refcount_t *rc) ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:27:0: /var/lib/dkms/zfs/0.7.5/build/include/sys/refcount.h:66:6: note: previous declaration of ‘refcount_create_untracked’ was here void refcount_create_untracked(zfs_refcount_t *rc); ^~~~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c: In function ‘refcount_create_untracked’: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:81:4: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_tracked’ rc->rc_tracked = B_FALSE; ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c: At top level: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:85:1: error: conflicting types for ‘refcount_destroy_many’ refcount_destroy_many(refcount_t *rc, uint64_t number) ^~~~~~~~~~~~~~~~~~~~~ In file included from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:27:0: /var/lib/dkms/zfs/0.7.5/build/include/sys/refcount.h:69:6: note: previous declaration of ‘refcount_destroy_many’ was here void refcount_destroy_many(zfs_refcount_t *rc, uint64_t number); ^~~~~~~~~~~~~~~~~~~~~ In file included from ./include/linux/kernel.h:10:0, from ./include/linux/list.h:9, from ./include/linux/module.h:9, from /usr/src/spl-0.7.5/include/sys/sysmacros.h:28, from /usr/src/spl-0.7.5/include/sys/types.h:29, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:34, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c: In function ‘refcount_destroy_many’: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:89:11: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_count’ ASSERT(rc->rc_count == number); ^ ./include/linux/compiler.h:77:42: note: in definition of macro ‘unlikely’ # define unlikely(x) __builtin_expect(!!(x), 0) ^ /usr/src/spl-0.7.5/include/sys/debug.h:108:23: note: in expansion of macro ‘VERIFY’ #define ASSERT(cond) VERIFY(cond) ^~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:89:2: note: in expansion of macro ‘ASSERT’ ASSERT(rc->rc_count == number); ^~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:90:29: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_list’ while ((ref = list_head(&rc->rc_list))) { ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:91:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_list’ list_remove(&rc->rc_list, ref); ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:94:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_list’ list_destroy(&rc->rc_list); ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:96:29: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_removed’ while ((ref = list_head(&rc->rc_removed))) { ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:97:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_removed’ list_remove(&rc->rc_removed, ref); ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:101:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_removed’ list_destroy(&rc->rc_removed); ^~ In file included from /usr/src/spl-0.7.5/include/sys/sysmacros.h:31:0, from /usr/src/spl-0.7.5/include/sys/types.h:29, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:34, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:102:19: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_destroy(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:66:19: note: in definition of macro ‘VERIFY3_IMPL’ (void)((!((TYPE)(LEFT) OP (TYPE)(RIGHT))) && \ ^~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:113:2: note: in expansion of macro ‘VERIFY3P’ VERIFY3P(mutex_owner(mp), ==, NULL); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:113:11: note: in expansion of macro ‘mutex_owner’ VERIFY3P(mutex_owner(mp), ==, NULL); \ ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:102:2: note: in expansion of macro ‘mutex_destroy’ mutex_destroy(&rc->rc_mtx); ^~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:102:19: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_destroy(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:66:19: note: in definition of macro ‘VERIFY3_IMPL’ (void)((!((TYPE)(LEFT) OP (TYPE)(RIGHT))) && \ ^~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:113:2: note: in expansion of macro ‘VERIFY3P’ VERIFY3P(mutex_owner(mp), ==, NULL); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:113:11: note: in expansion of macro ‘mutex_owner’ VERIFY3P(mutex_owner(mp), ==, NULL); \ ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:102:2: note: in expansion of macro ‘mutex_destroy’ mutex_destroy(&rc->rc_mtx); ^~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:102:19: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_destroy(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:70:12: note: in definition of macro ‘VERIFY3_IMPL’ CAST (LEFT), CAST (RIGHT))) ^~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:113:2: note: in expansion of macro ‘VERIFY3P’ VERIFY3P(mutex_owner(mp), ==, NULL); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:113:11: note: in expansion of macro ‘mutex_owner’ VERIFY3P(mutex_owner(mp), ==, NULL); \ ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:102:2: note: in expansion of macro ‘mutex_destroy’ mutex_destroy(&rc->rc_mtx); ^~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:102:19: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_destroy(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:70:12: note: in definition of macro ‘VERIFY3_IMPL’ CAST (LEFT), CAST (RIGHT))) ^~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:113:2: note: in expansion of macro ‘VERIFY3P’ VERIFY3P(mutex_owner(mp), ==, NULL); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:113:11: note: in expansion of macro ‘mutex_owner’ VERIFY3P(mutex_owner(mp), ==, NULL); \ ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:102:2: note: in expansion of macro ‘mutex_destroy’ mutex_destroy(&rc->rc_mtx); ^~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c: At top level: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:106:1: error: conflicting types for ‘refcount_destroy’ refcount_destroy(refcount_t *rc) ^~~~~~~~~~~~~~~~ In file included from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:27:0: /var/lib/dkms/zfs/0.7.5/build/include/sys/refcount.h:68:6: note: previous declaration of ‘refcount_destroy’ was here void refcount_destroy(zfs_refcount_t *rc); ^~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:112:1: error: conflicting types for ‘refcount_is_zero’ refcount_is_zero(refcount_t *rc) ^~~~~~~~~~~~~~~~ In file included from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:27:0: /var/lib/dkms/zfs/0.7.5/build/include/sys/refcount.h:70:5: note: previous declaration of ‘refcount_is_zero’ was here int refcount_is_zero(zfs_refcount_t *rc); ^~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c: In function ‘refcount_is_zero’: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:114:12: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_count’ return (rc->rc_count == 0); ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c: At top level: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:118:1: error: conflicting types for ‘refcount_count’ refcount_count(refcount_t *rc) ^~~~~~~~~~~~~~ In file included from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:27:0: /var/lib/dkms/zfs/0.7.5/build/include/sys/refcount.h:71:9: note: previous declaration of ‘refcount_count’ was here int64_t refcount_count(zfs_refcount_t *rc); ^~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c: In function ‘refcount_count’: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:120:12: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_count’ return (rc->rc_count); ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c: At top level: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:124:1: error: conflicting types for ‘refcount_add_many’ refcount_add_many(refcount_t *rc, uint64_t number, void *holder) ^~~~~~~~~~~~~~~~~ In file included from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:27:0: /var/lib/dkms/zfs/0.7.5/build/include/sys/refcount.h:74:9: note: previous declaration of ‘refcount_add_many’ was here int64_t refcount_add_many(zfs_refcount_t *rc, uint64_t number, ^~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c: In function ‘refcount_add_many’: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:129:8: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_tracked’ if (rc->rc_tracked) { ^~ In file included from /usr/src/spl-0.7.5/include/sys/sysmacros.h:31:0, from /usr/src/spl-0.7.5/include/sys/types.h:29, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:34, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:134:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:66:19: note: in definition of macro ‘VERIFY3_IMPL’ (void)((!((TYPE)(LEFT) OP (TYPE)(RIGHT))) && \ ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:134:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:134:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:66:19: note: in definition of macro ‘VERIFY3_IMPL’ (void)((!((TYPE)(LEFT) OP (TYPE)(RIGHT))) && \ ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:134:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:134:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:70:12: note: in definition of macro ‘VERIFY3_IMPL’ CAST (LEFT), CAST (RIGHT))) ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:134:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:134:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:70:12: note: in definition of macro ‘VERIFY3_IMPL’ CAST (LEFT), CAST (RIGHT))) ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:134:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ In file included from /usr/src/spl-0.7.5/include/sys/t_lock.h:29:0, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:35, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:134:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:49:24: note: in definition of macro ‘MUTEX’ #define MUTEX(mp) (&((mp)->m_mutex)) ^~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:134:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:134:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:144:22: note: in definition of macro ‘mutex_enter_nested’ spl_mutex_set_owner(mp); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:134:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ In file included from ./include/linux/kernel.h:10:0, from ./include/linux/list.h:9, from ./include/linux/module.h:9, from /usr/src/spl-0.7.5/include/sys/sysmacros.h:28, from /usr/src/spl-0.7.5/include/sys/types.h:29, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:34, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:135:11: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_count’ ASSERT(rc->rc_count >= 0); ^ ./include/linux/compiler.h:77:42: note: in definition of macro ‘unlikely’ # define unlikely(x) __builtin_expect(!!(x), 0) ^ /usr/src/spl-0.7.5/include/sys/debug.h:108:23: note: in expansion of macro ‘VERIFY’ #define ASSERT(cond) VERIFY(cond) ^~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:135:2: note: in expansion of macro ‘ASSERT’ ASSERT(rc->rc_count >= 0); ^~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:136:8: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_tracked’ if (rc->rc_tracked) ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:137:23: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_list’ list_insert_head(&rc->rc_list, ref); ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:138:4: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_count’ rc->rc_count += number; ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:139:12: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_count’ count = rc->rc_count; ^~ In file included from /usr/src/spl-0.7.5/include/sys/t_lock.h:29:0, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:35, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:140:16: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:171:24: note: in definition of macro ‘mutex_exit’ spl_mutex_clear_owner(mp); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:140:16: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:172:14: note: in definition of macro ‘mutex_exit’ spin_lock(&(mp)->m_lock); \ ^~ CC [M] /var/lib/dkms/zfs/0.7.5/build/module/zfs/uberblock.o /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:140:16: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:49:24: note: in definition of macro ‘MUTEX’ #define MUTEX(mp) (&((mp)->m_mutex)) ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:140:2: note: in expansion of macro ‘mutex_exit’ mutex_exit(&rc->rc_mtx); ^~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:140:16: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:176:16: note: in definition of macro ‘mutex_exit’ spin_unlock(&(mp)->m_lock); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c: At top level: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:146:1: error: conflicting types for ‘zfs_refcount_add’ zfs_refcount_add(refcount_t *rc, void *holder) ^~~~~~~~~~~~~~~~ In file included from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:27:0: /var/lib/dkms/zfs/0.7.5/build/include/sys/refcount.h:72:9: note: previous declaration of ‘zfs_refcount_add’ was here int64_t zfs_refcount_add(zfs_refcount_t *rc, void *holder_tag); ^~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:152:1: error: conflicting types for ‘refcount_remove_many’ refcount_remove_many(refcount_t *rc, uint64_t number, void *holder) ^~~~~~~~~~~~~~~~~~~~ In file included from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:27:0: /var/lib/dkms/zfs/0.7.5/build/include/sys/refcount.h:76:9: note: previous declaration of ‘refcount_remove_many’ was here int64_t refcount_remove_many(zfs_refcount_t *rc, uint64_t number, ^~~~~~~~~~~~~~~~~~~~ In file included from /usr/src/spl-0.7.5/include/sys/sysmacros.h:31:0, from /usr/src/spl-0.7.5/include/sys/types.h:29, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:34, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c: In function ‘refcount_remove_many’: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:157:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:66:19: note: in definition of macro ‘VERIFY3_IMPL’ (void)((!((TYPE)(LEFT) OP (TYPE)(RIGHT))) && \ ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:157:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:157:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:66:19: note: in definition of macro ‘VERIFY3_IMPL’ (void)((!((TYPE)(LEFT) OP (TYPE)(RIGHT))) && \ ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:157:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:157:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:70:12: note: in definition of macro ‘VERIFY3_IMPL’ CAST (LEFT), CAST (RIGHT))) ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:157:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:157:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:70:12: note: in definition of macro ‘VERIFY3_IMPL’ CAST (LEFT), CAST (RIGHT))) ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:157:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ In file included from /usr/src/spl-0.7.5/include/sys/t_lock.h:29:0, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:35, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:157:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:49:24: note: in definition of macro ‘MUTEX’ #define MUTEX(mp) (&((mp)->m_mutex)) ^~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:157:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:157:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:144:22: note: in definition of macro ‘mutex_enter_nested’ spl_mutex_set_owner(mp); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:157:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ In file included from ./include/linux/kernel.h:10:0, from ./include/linux/list.h:9, from ./include/linux/module.h:9, from /usr/src/spl-0.7.5/include/sys/sysmacros.h:28, from /usr/src/spl-0.7.5/include/sys/types.h:29, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:34, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:158:11: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_count’ ASSERT(rc->rc_count >= number); ^ ./include/linux/compiler.h:77:42: note: in definition of macro ‘unlikely’ # define unlikely(x) __builtin_expect(!!(x), 0) ^ /usr/src/spl-0.7.5/include/sys/debug.h:108:23: note: in expansion of macro ‘VERIFY’ #define ASSERT(cond) VERIFY(cond) ^~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:158:2: note: in expansion of macro ‘ASSERT’ ASSERT(rc->rc_count >= number); ^~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:160:9: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_tracked’ if (!rc->rc_tracked) { ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:161:5: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_count’ rc->rc_count -= number; ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:162:13: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_count’ count = rc->rc_count; ^~ In file included from /usr/src/spl-0.7.5/include/sys/t_lock.h:29:0, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:35, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:163:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:171:24: note: in definition of macro ‘mutex_exit’ spl_mutex_clear_owner(mp); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:163:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:172:14: note: in definition of macro ‘mutex_exit’ spin_lock(&(mp)->m_lock); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:163:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:49:24: note: in definition of macro ‘MUTEX’ #define MUTEX(mp) (&((mp)->m_mutex)) ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:163:3: note: in expansion of macro ‘mutex_exit’ mutex_exit(&rc->rc_mtx); ^~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:163:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:176:16: note: in definition of macro ‘mutex_exit’ spin_unlock(&(mp)->m_lock); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:167:26: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_list’ for (ref = list_head(&rc->rc_list); ref; ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:168:25: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_list’ ref = list_next(&rc->rc_list, ref)) { ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:170:19: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_list’ list_remove(&rc->rc_list, ref); ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:175:25: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_removed’ list_insert_head(&rc->rc_removed, ref); ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:176:7: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_removed_count’ rc->rc_removed_count++; ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:177:11: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_removed_count’ if (rc->rc_removed_count > reference_history) { ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:178:25: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_removed’ ref = list_tail(&rc->rc_removed); ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:179:21: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_removed’ list_remove(&rc->rc_removed, ref); ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:183:8: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_removed_count’ rc->rc_removed_count--; ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:188:6: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_count’ rc->rc_count -= number; ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:189:14: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_count’ count = rc->rc_count; ^~ In file included from /usr/src/spl-0.7.5/include/sys/t_lock.h:29:0, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:35, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:190:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:171:24: note: in definition of macro ‘mutex_exit’ spl_mutex_clear_owner(mp); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:190:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:172:14: note: in definition of macro ‘mutex_exit’ spin_lock(&(mp)->m_lock); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:190:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:49:24: note: in definition of macro ‘MUTEX’ #define MUTEX(mp) (&((mp)->m_mutex)) ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:190:4: note: in expansion of macro ‘mutex_exit’ mutex_exit(&rc->rc_mtx); ^~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:190:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:176:16: note: in definition of macro ‘mutex_exit’ spin_unlock(&(mp)->m_lock); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c: At top level: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:200:1: error: conflicting types for ‘refcount_remove’ refcount_remove(refcount_t *rc, void *holder) ^~~~~~~~~~~~~~~ In file included from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:27:0: /var/lib/dkms/zfs/0.7.5/build/include/sys/refcount.h:73:9: note: previous declaration of ‘refcount_remove’ was here int64_t refcount_remove(zfs_refcount_t *rc, void *holder_tag); ^~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:206:1: error: conflicting types for ‘refcount_transfer’ refcount_transfer(refcount_t *dst, refcount_t *src) ^~~~~~~~~~~~~~~~~ In file included from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:27:0: /var/lib/dkms/zfs/0.7.5/build/include/sys/refcount.h:78:6: note: previous declaration of ‘refcount_transfer’ was here void refcount_transfer(zfs_refcount_t *dst, zfs_refcount_t *src); ^~~~~~~~~~~~~~~~~ In file included from /usr/src/spl-0.7.5/include/sys/sysmacros.h:31:0, from /usr/src/spl-0.7.5/include/sys/types.h:29, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:34, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c: In function ‘refcount_transfer’: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:216:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&src->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:66:19: note: in definition of macro ‘VERIFY3_IMPL’ (void)((!((TYPE)(LEFT) OP (TYPE)(RIGHT))) && \ ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:216:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&src->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:216:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&src->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:66:19: note: in definition of macro ‘VERIFY3_IMPL’ (void)((!((TYPE)(LEFT) OP (TYPE)(RIGHT))) && \ ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:216:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&src->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:216:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&src->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:70:12: note: in definition of macro ‘VERIFY3_IMPL’ CAST (LEFT), CAST (RIGHT))) ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:216:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&src->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:216:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&src->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:70:12: note: in definition of macro ‘VERIFY3_IMPL’ CAST (LEFT), CAST (RIGHT))) ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:216:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&src->rc_mtx); ^~~~~~~~~~~ In file included from /usr/src/spl-0.7.5/include/sys/t_lock.h:29:0, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:35, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:216:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&src->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:49:24: note: in definition of macro ‘MUTEX’ #define MUTEX(mp) (&((mp)->m_mutex)) ^~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:216:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&src->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:216:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&src->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:144:22: note: in definition of macro ‘mutex_enter_nested’ spl_mutex_set_owner(mp); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:216:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&src->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:217:13: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_count’ count = src->rc_count; ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:218:21: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_removed_count’ removed_count = src->rc_removed_count; ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:219:5: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_count’ src->rc_count = 0; ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:220:5: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_removed_count’ src->rc_removed_count = 0; ^~ In file included from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:55:0, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:221:28: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_list’ list_move_tail(&list, &src->rc_list); ^ /usr/src/spl-0.7.5/include/sys/list.h:204:58: note: in definition of macro ‘list_move_tail’ #define list_move_tail(dst, src) spl_list_move_tail(dst, src) ^~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:222:31: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_removed’ list_move_tail(&removed, &src->rc_removed); ^ /usr/src/spl-0.7.5/include/sys/list.h:204:58: note: in definition of macro ‘list_move_tail’ #define list_move_tail(dst, src) spl_list_move_tail(dst, src) ^~~ In file included from /usr/src/spl-0.7.5/include/sys/t_lock.h:29:0, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:35, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:223:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&src->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:171:24: note: in definition of macro ‘mutex_exit’ spl_mutex_clear_owner(mp); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:223:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&src->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:172:14: note: in definition of macro ‘mutex_exit’ spin_lock(&(mp)->m_lock); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:223:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&src->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:49:24: note: in definition of macro ‘MUTEX’ #define MUTEX(mp) (&((mp)->m_mutex)) ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:223:2: note: in expansion of macro ‘mutex_exit’ mutex_exit(&src->rc_mtx); ^~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:223:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&src->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:176:16: note: in definition of macro ‘mutex_exit’ spin_unlock(&(mp)->m_lock); \ ^~ In file included from /usr/src/spl-0.7.5/include/sys/sysmacros.h:31:0, from /usr/src/spl-0.7.5/include/sys/types.h:29, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:34, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:225:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&dst->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:66:19: note: in definition of macro ‘VERIFY3_IMPL’ (void)((!((TYPE)(LEFT) OP (TYPE)(RIGHT))) && \ ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:225:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&dst->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:225:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&dst->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:66:19: note: in definition of macro ‘VERIFY3_IMPL’ (void)((!((TYPE)(LEFT) OP (TYPE)(RIGHT))) && \ ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:225:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&dst->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:225:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&dst->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:70:12: note: in definition of macro ‘VERIFY3_IMPL’ CAST (LEFT), CAST (RIGHT))) ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:225:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&dst->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:225:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&dst->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:70:12: note: in definition of macro ‘VERIFY3_IMPL’ CAST (LEFT), CAST (RIGHT))) ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:225:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&dst->rc_mtx); ^~~~~~~~~~~ In file included from /usr/src/spl-0.7.5/include/sys/t_lock.h:29:0, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:35, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:225:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&dst->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:49:24: note: in definition of macro ‘MUTEX’ #define MUTEX(mp) (&((mp)->m_mutex)) ^~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:225:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&dst->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:225:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&dst->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:144:22: note: in definition of macro ‘mutex_enter_nested’ spl_mutex_set_owner(mp); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:225:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&dst->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:226:5: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_count’ dst->rc_count += count; ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:227:5: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_removed_count’ dst->rc_removed_count += removed_count; ^~ In file included from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:55:0, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:228:21: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_list’ list_move_tail(&dst->rc_list, &list); ^ /usr/src/spl-0.7.5/include/sys/list.h:204:53: note: in definition of macro ‘list_move_tail’ #define list_move_tail(dst, src) spl_list_move_tail(dst, src) ^~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:229:21: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_removed’ list_move_tail(&dst->rc_removed, &removed); ^ /usr/src/spl-0.7.5/include/sys/list.h:204:53: note: in definition of macro ‘list_move_tail’ #define list_move_tail(dst, src) spl_list_move_tail(dst, src) ^~~ In file included from /usr/src/spl-0.7.5/include/sys/t_lock.h:29:0, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:35, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:230:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&dst->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:171:24: note: in definition of macro ‘mutex_exit’ spl_mutex_clear_owner(mp); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:230:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&dst->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:172:14: note: in definition of macro ‘mutex_exit’ spin_lock(&(mp)->m_lock); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:230:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&dst->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:49:24: note: in definition of macro ‘MUTEX’ #define MUTEX(mp) (&((mp)->m_mutex)) ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:230:2: note: in expansion of macro ‘mutex_exit’ mutex_exit(&dst->rc_mtx); ^~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:230:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&dst->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:176:16: note: in definition of macro ‘mutex_exit’ spin_unlock(&(mp)->m_lock); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c: At top level: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:237:1: error: conflicting types for ‘refcount_transfer_ownership’ refcount_transfer_ownership(refcount_t *rc, void *current_holder, ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:27:0: /var/lib/dkms/zfs/0.7.5/build/include/sys/refcount.h:79:6: note: previous declaration of ‘refcount_transfer_ownership’ was here void refcount_transfer_ownership(zfs_refcount_t *, void *, void *); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/src/spl-0.7.5/include/sys/sysmacros.h:31:0, from /usr/src/spl-0.7.5/include/sys/types.h:29, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:34, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c: In function ‘refcount_transfer_ownership’: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:243:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:66:19: note: in definition of macro ‘VERIFY3_IMPL’ (void)((!((TYPE)(LEFT) OP (TYPE)(RIGHT))) && \ ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:243:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:243:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:66:19: note: in definition of macro ‘VERIFY3_IMPL’ (void)((!((TYPE)(LEFT) OP (TYPE)(RIGHT))) && \ ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:243:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:243:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:70:12: note: in definition of macro ‘VERIFY3_IMPL’ CAST (LEFT), CAST (RIGHT))) ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:243:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:243:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:70:12: note: in definition of macro ‘VERIFY3_IMPL’ CAST (LEFT), CAST (RIGHT))) ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:243:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ In file included from /usr/src/spl-0.7.5/include/sys/t_lock.h:29:0, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:35, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:243:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:49:24: note: in definition of macro ‘MUTEX’ #define MUTEX(mp) (&((mp)->m_mutex)) ^~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:243:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:243:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:144:22: note: in definition of macro ‘mutex_enter_nested’ spl_mutex_set_owner(mp); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:243:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:244:9: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_tracked’ if (!rc->rc_tracked) { ^~ In file included from /usr/src/spl-0.7.5/include/sys/t_lock.h:29:0, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:35, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:245:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:171:24: note: in definition of macro ‘mutex_exit’ spl_mutex_clear_owner(mp); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:245:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:172:14: note: in definition of macro ‘mutex_exit’ spin_lock(&(mp)->m_lock); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:245:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:49:24: note: in definition of macro ‘MUTEX’ #define MUTEX(mp) (&((mp)->m_mutex)) ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:245:3: note: in expansion of macro ‘mutex_exit’ mutex_exit(&rc->rc_mtx); ^~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:245:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:176:16: note: in definition of macro ‘mutex_exit’ spin_unlock(&(mp)->m_lock); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:249:26: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_list’ for (ref = list_head(&rc->rc_list); ref; ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:250:25: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_list’ ref = list_next(&rc->rc_list, ref)) { ^~ In file included from /usr/src/spl-0.7.5/include/sys/t_lock.h:29:0, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:35, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:258:16: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:171:24: note: in definition of macro ‘mutex_exit’ spl_mutex_clear_owner(mp); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:258:16: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:172:14: note: in definition of macro ‘mutex_exit’ spin_lock(&(mp)->m_lock); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:258:16: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:49:24: note: in definition of macro ‘MUTEX’ #define MUTEX(mp) (&((mp)->m_mutex)) ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:258:2: note: in expansion of macro ‘mutex_exit’ mutex_exit(&rc->rc_mtx); ^~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:258:16: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:176:16: note: in definition of macro ‘mutex_exit’ spin_unlock(&(mp)->m_lock); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c: At top level: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:267:1: error: conflicting types for ‘refcount_held’ refcount_held(refcount_t *rc, void *holder) ^~~~~~~~~~~~~ In file included from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:27:0: /var/lib/dkms/zfs/0.7.5/build/include/sys/refcount.h:80:11: note: previous declaration of ‘refcount_held’ was here boolean_t refcount_held(zfs_refcount_t *, void *); ^~~~~~~~~~~~~ In file included from /usr/src/spl-0.7.5/include/sys/sysmacros.h:31:0, from /usr/src/spl-0.7.5/include/sys/types.h:29, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:34, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c: In function ‘refcount_held’: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:271:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:66:19: note: in definition of macro ‘VERIFY3_IMPL’ (void)((!((TYPE)(LEFT) OP (TYPE)(RIGHT))) && \ ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:271:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:271:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:66:19: note: in definition of macro ‘VERIFY3_IMPL’ (void)((!((TYPE)(LEFT) OP (TYPE)(RIGHT))) && \ ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:271:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:271:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:70:12: note: in definition of macro ‘VERIFY3_IMPL’ CAST (LEFT), CAST (RIGHT))) ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:271:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:271:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:70:12: note: in definition of macro ‘VERIFY3_IMPL’ CAST (LEFT), CAST (RIGHT))) ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:271:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ In file included from /usr/src/spl-0.7.5/include/sys/t_lock.h:29:0, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:35, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:271:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:49:24: note: in definition of macro ‘MUTEX’ #define MUTEX(mp) (&((mp)->m_mutex)) ^~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:271:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:271:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:144:22: note: in definition of macro ‘mutex_enter_nested’ spl_mutex_set_owner(mp); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:271:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:273:9: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_tracked’ if (!rc->rc_tracked) { ^~ In file included from /usr/src/spl-0.7.5/include/sys/t_lock.h:29:0, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:35, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:274:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:171:24: note: in definition of macro ‘mutex_exit’ spl_mutex_clear_owner(mp); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:274:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:172:14: note: in definition of macro ‘mutex_exit’ spin_lock(&(mp)->m_lock); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:274:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:49:24: note: in definition of macro ‘MUTEX’ #define MUTEX(mp) (&((mp)->m_mutex)) ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:274:3: note: in expansion of macro ‘mutex_exit’ mutex_exit(&rc->rc_mtx); ^~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:274:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:176:16: note: in definition of macro ‘mutex_exit’ spin_unlock(&(mp)->m_lock); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:275:13: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_count’ return (rc->rc_count > 0); ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:278:26: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_list’ for (ref = list_head(&rc->rc_list); ref; ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:279:25: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_list’ ref = list_next(&rc->rc_list, ref)) { ^~ In file included from /usr/src/spl-0.7.5/include/sys/t_lock.h:29:0, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:35, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:281:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:171:24: note: in definition of macro ‘mutex_exit’ spl_mutex_clear_owner(mp); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:281:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:172:14: note: in definition of macro ‘mutex_exit’ spin_lock(&(mp)->m_lock); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:281:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:49:24: note: in definition of macro ‘MUTEX’ #define MUTEX(mp) (&((mp)->m_mutex)) ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:281:4: note: in expansion of macro ‘mutex_exit’ mutex_exit(&rc->rc_mtx); ^~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:281:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:176:16: note: in definition of macro ‘mutex_exit’ spin_unlock(&(mp)->m_lock); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:285:16: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:171:24: note: in definition of macro ‘mutex_exit’ spl_mutex_clear_owner(mp); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:285:16: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:172:14: note: in definition of macro ‘mutex_exit’ spin_lock(&(mp)->m_lock); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:285:16: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:49:24: note: in definition of macro ‘MUTEX’ #define MUTEX(mp) (&((mp)->m_mutex)) ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:285:2: note: in expansion of macro ‘mutex_exit’ mutex_exit(&rc->rc_mtx); ^~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:285:16: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:176:16: note: in definition of macro ‘mutex_exit’ spin_unlock(&(mp)->m_lock); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c: At top level: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:295:1: error: conflicting types for ‘refcount_not_held’ refcount_not_held(refcount_t *rc, void *holder) ^~~~~~~~~~~~~~~~~ In file included from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:27:0: /var/lib/dkms/zfs/0.7.5/build/include/sys/refcount.h:81:11: note: previous declaration of ‘refcount_not_held’ was here boolean_t refcount_not_held(zfs_refcount_t *, void *); ^~~~~~~~~~~~~~~~~ In file included from /usr/src/spl-0.7.5/include/sys/sysmacros.h:31:0, from /usr/src/spl-0.7.5/include/sys/types.h:29, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:34, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c: In function ‘refcount_not_held’: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:299:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:66:19: note: in definition of macro ‘VERIFY3_IMPL’ (void)((!((TYPE)(LEFT) OP (TYPE)(RIGHT))) && \ ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:299:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:299:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:66:19: note: in definition of macro ‘VERIFY3_IMPL’ (void)((!((TYPE)(LEFT) OP (TYPE)(RIGHT))) && \ ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:299:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:299:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:70:12: note: in definition of macro ‘VERIFY3_IMPL’ CAST (LEFT), CAST (RIGHT))) ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:299:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:299:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/debug.h:70:12: note: in definition of macro ‘VERIFY3_IMPL’ CAST (LEFT), CAST (RIGHT))) ^~~~ /usr/src/spl-0.7.5/include/sys/debug.h:113:26: note: in expansion of macro ‘VERIFY3P’ #define ASSERT3P(x,y,z) VERIFY3P(x, y, z) ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:2: note: in expansion of macro ‘ASSERT3P’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:63:27: note: in expansion of macro ‘ACCESS_ONCE’ #define mutex_owner(mp) (ACCESS_ONCE((mp)->m_owner)) ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:140:11: note: in expansion of macro ‘mutex_owner’ ASSERT3P(mutex_owner(mp), !=, current); \ ^~~~~~~~~~~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:299:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ In file included from /usr/src/spl-0.7.5/include/sys/t_lock.h:29:0, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:35, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:299:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:49:24: note: in definition of macro ‘MUTEX’ #define MUTEX(mp) (&((mp)->m_mutex)) ^~ /usr/src/spl-0.7.5/include/sys/mutex.h:148:25: note: in expansion of macro ‘mutex_enter_nested’ #define mutex_enter(mp) mutex_enter_nested((mp), 0) ^~~~~~~~~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:299:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:299:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_enter(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:144:22: note: in definition of macro ‘mutex_enter_nested’ spl_mutex_set_owner(mp); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:299:2: note: in expansion of macro ‘mutex_enter’ mutex_enter(&rc->rc_mtx); ^~~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:301:9: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_tracked’ if (!rc->rc_tracked) { ^~ In file included from /usr/src/spl-0.7.5/include/sys/t_lock.h:29:0, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:35, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:302:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:171:24: note: in definition of macro ‘mutex_exit’ spl_mutex_clear_owner(mp); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:302:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:172:14: note: in definition of macro ‘mutex_exit’ spin_lock(&(mp)->m_lock); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:302:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:49:24: note: in definition of macro ‘MUTEX’ #define MUTEX(mp) (&((mp)->m_mutex)) ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:302:3: note: in expansion of macro ‘mutex_exit’ mutex_exit(&rc->rc_mtx); ^~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:302:17: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:176:16: note: in definition of macro ‘mutex_exit’ spin_unlock(&(mp)->m_lock); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:306:26: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_list’ for (ref = list_head(&rc->rc_list); ref; ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:307:25: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_list’ ref = list_next(&rc->rc_list, ref)) { ^~ In file included from /usr/src/spl-0.7.5/include/sys/t_lock.h:29:0, from /var/lib/dkms/zfs/0.7.5/build/include/sys/zfs_context.h:35, from /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:26: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:309:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:171:24: note: in definition of macro ‘mutex_exit’ spl_mutex_clear_owner(mp); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:309:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:172:14: note: in definition of macro ‘mutex_exit’ spin_lock(&(mp)->m_lock); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:309:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:49:24: note: in definition of macro ‘MUTEX’ #define MUTEX(mp) (&((mp)->m_mutex)) ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:309:4: note: in expansion of macro ‘mutex_exit’ mutex_exit(&rc->rc_mtx); ^~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:309:18: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:176:16: note: in definition of macro ‘mutex_exit’ spin_unlock(&(mp)->m_lock); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:313:16: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:171:24: note: in definition of macro ‘mutex_exit’ spl_mutex_clear_owner(mp); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:313:16: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:172:14: note: in definition of macro ‘mutex_exit’ spin_lock(&(mp)->m_lock); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:313:16: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:49:24: note: in definition of macro ‘MUTEX’ #define MUTEX(mp) (&((mp)->m_mutex)) ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:313:2: note: in expansion of macro ‘mutex_exit’ mutex_exit(&rc->rc_mtx); ^~~~~~~~~~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:313:16: error: ‘refcount_t {aka struct refcount_struct}’ has no member named ‘rc_mtx’ mutex_exit(&rc->rc_mtx); ^ /usr/src/spl-0.7.5/include/sys/mutex.h:176:16: note: in definition of macro ‘mutex_exit’ spin_unlock(&(mp)->m_lock); \ ^~ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c: In function ‘refcount_is_zero’: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:115:1: error: control reaches end of non-void function [-Werror=return-type] } ^ /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c: In function ‘refcount_count’: /var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.c:121:1: error: control reaches end of non-void function [-Werror=return-type] } ^ cc1: all warnings being treated as errors scripts/Makefile.build:330: recipe for target '/var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.o' failed make[5]: *** [/var/lib/dkms/zfs/0.7.5/build/module/zfs/refcount.o] Error 1 make[5]: *** Waiting for unfinished jobs.... LD [M] /var/lib/dkms/zfs/0.7.5/build/module/icp/icp.o scripts/Makefile.build:604: recipe for target '/var/lib/dkms/zfs/0.7.5/build/module/zfs' failed make[4]: *** [/var/lib/dkms/zfs/0.7.5/build/module/zfs] Error 2 Makefile:1577: recipe for target '_module_/var/lib/dkms/zfs/0.7.5/build/module' failed make[3]: *** [_module_/var/lib/dkms/zfs/0.7.5/build/module] Error 2 make[3]: Leaving directory '/usr/src/linux-headers-4.15.0-106-generic' Makefile:21: recipe for target 'modules' failed make[2]: *** [modules] Error 2 make[2]: Leaving directory '/var/lib/dkms/zfs/0.7.5/build/module' Makefile:727: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/var/lib/dkms/zfs/0.7.5/build' Makefile:598: recipe for target 'all' failed make: *** [all] Error 2 Thanks |
@seth when I get a spare moment I'll provide you with the appropriate deb package for testing. |
There looks to be a same or similar issue with openzfs 2.0 on Ubuntu 18.04 using the packages from the jonathanf PPA, currently
One of the zfs recv commands completely hung and was unable to be killed, forcing a reboot of the system. |
This issue is a |
This issue has been automatically marked as "stale" because it has not had any activity for a while. It will be closed in 90 days if no further activity occurs. Thank you for your contributions. |
System information
Describe the problem you're observing
I tried to delete a directory with around 680,000 files inside of the
rpool/home
dataset. This operation stucked an then I did a hard reset. My ZFS pool is encrypted with LUKS.Mounting
rpool/home
causes ZFS to panic. This happens during the boot process of the installed system and also when I run a live system via USB and mounting the volume.zpool scrub rpool
does not report any errors.Describe how to reproduce the problem
This happens every time I'm trying to mount the
rpool/home
dataset. Other datasets can be mounted without errors.Include any warning/errors/backtraces from the system logs
The text was updated successfully, but these errors were encountered: