[arm, zfs] zpool create: zap->zap_rwlock

From: Boris Samorodov <bsam_at_passap.ru>
Date: Sat, 03 May 2014 19:43:54 +0400
Hi All,

The system:
-----
FreeBSD 11.0-CURRENT #6 r265218M: Fri May  2 18:24:07 SAMT 2014
    bsam_at_wandboard:/usr/obj/usr/src/sys/WANDBOARD-QUAD arm
FreeBSD clang version 3.4 (tags/RELEASE_34/final 197956) 20140216
CPU: Cortex A9-r2 rev 10 (Cortex-A core)
 Supported features: ARM_ISA THUMB2 JAZELLE THUMBEE ARMv4 Security_Ext
 WB disabled EABT branch prediction enabled
LoUU:2 LoC:1 LoUIS:2
Cache level 1:
 32KB/32B 4-way data cache WB Read-Alloc Write-Alloc
 32KB/32B 4-way instruction cache Read-Alloc
real memory  = 2147483648 (2048 MB)
avail memory = 2094088192 (1997 MB)
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
-----

I managed to build zfs module using the patch found somewhere at lists:
-----
--- /usr/src/sys/cddl/compat/opensolaris/sys/cpuvar.h   (revision 265218)
+++ /usr/src/sys/cddl/compat/opensolaris/sys/cpuvar.h   (working copy)
_at__at_ -50,6 +50,9 _at__at_

 /* Some code may choose to redefine this if pcpu_t would be more useful. */
 #define cpu_t  solaris_cpu_t
+#ifdef cpu_id
+#undef cpu_id
+#endif /* cpu_id */
 #define        cpu_id  cpuid

 extern solaris_cpu_t    solaris_cpu[];
-----

Modules are loaded OK:
-----
% kldstat
Id Refs Address    Size     Name
 1   12 0xc2000000 5d8f48   kernel
 2    1 0xc75e3000 c000     if_tap.ko
 3    2 0xc76a2000 b000     opensolaris.ko
 4    1 0xc76ad000 175000   zfs.ko
-----

While creating a zpool the job writes something to the disk and
finally (in a minute or so) waits forever:
-----
% sudo zpool create data01 /dev/mmcsd0
^tload: 0.10  cmd: zpool 604 [zap->zap_rwlock] 208.39r 0.00u 0.07s 0% 3516k
-----

Gdb can't attach to the process (also waits forever while attaching).
Ktrace gives (I'm not sure if it shows the last command though):
-----
  1435 zpool    CALL
__sysctl(0xbfffcbac,0x2,0xbfffcbd4,0xbfffcbd0,0x200b5a98,0x15)
  1435 zpool    SCTL  "sysctl.name2oid"
  1435 zpool    RET   __sysctl 0
  1435 zpool    CALL  __sysctl(0xbfffcbd4,0x4,0xbfffcc54,0xbfffcc58,0,0)
  1435 zpool    SCTL  "vfs.zfs.version.ioctl"
  1435 zpool    RET   __sysctl 0
  1435 zpool    CALL  ioctl(0x3,0xc0185a00,0xbfffcc00)
-----

Any advice, help and especially patches are welcome. ;-)

Thanks!
-- 
WBR, Boris Samorodov (bsam)
FreeBSD Committer, http://www.FreeBSD.org The Power To Serve
Received on Sat May 03 2014 - 13:43:59 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:48 UTC