Re: ZFS port to FreeBSD: 2nd patchset available.

From: Joao Barros <joao.barros_at_gmail.com>
Date: Wed, 7 Mar 2007 03:16:48 +0000
On 3/6/07, Barry Pederson <bp_at_barryp.org> wrote:
> Joao Barros wrote:
>
> > After some tries I finally got it to buildworld, but at 3am I never
> > got to test anything other than 'kldload zfs'
> >
> > I was reading the man pages and I was wondering if files are supported
> > devices like in this example:
> >
> > Example 4 Creating a ZFS Storage Pool by Using Files
> >
> > The following command creates an unmirrored pool using files. While
> > not recommended, a pool based on files can be useful for experimental
> > purposes.
> >
> > # zpool create tank /path/to/file/a /path/to/file/b
> >
> > I'd have to feed some noisy disks to my machine if file devs are not
> > supported -.-
>
> I tried something like that, with a 512mb file:
>
>         dd if=/dev/zero of=/tmp/foo bs=1048976 count=512
>         zpool create tank /tmp/foo
>
> but it comes back with
>
>         cannot use '/dev//tmp/foo': must be a GEOM provider
>
> mdconfig is one way to go here, creating a memory disk based on that
> file. and then creating a pool from that
>
>         mdconfig -a -t vnode -f /tmp/foo
>
> (comes back with "md0" perhaps, meaning it's created a /dev/md0 )
>
>         zpool create tank md0
>
> and you should be in business.
>
>         Barry
>

That did the trick, thanks for the idea :)

After creating a pool, copying some files and other "just playing
around commands" I got this on my log:

ZFS filesystem version 3
ZFS storage pool version 3
acquiring duplicate lock of same type: "zfs:tx:cpu"
 1st zfs:tx:cpu _at_
/usr/src/sys/modules/zfs/../../compat/opensolaris/sys/mutex.h:44
 2nd zfs:tx:cpu _at_
/usr/src/sys/modules/zfs/../../compat/opensolaris/sys/mutex.h:44
KDB: stack backtrace:
db_trace_self_wrapper(c094d3a8) at db_trace_self_wrapper+0x25
kdb_backtrace(0,e6e58c6c,c0a5c7d8,c0a5c7d8,c09f7c0c,...) at kdb_backtrace+0x29
witness_checkorder(c4bde284,9,c4c9d083,2c) at witness_checkorder+0x586
_sx_xlock(c4bde284,c4c9d083,2c,0,0,...) at _sx_xlock+0x50
txg_quiesce(c4eee400,4,0,c4eee4ac,c4eee400,...) at txg_quiesce+0x48
txg_quiesce_thread(c4eee400,e6e58d38) at txg_quiesce_thread+0xaa
fork_exit(c4c6f480,c4eee400,e6e58d38) at fork_exit+0xac
fork_trampoline() at fork_trampoline+0x8
--- trap 0, eip = 0, esp = 0xe6e58d70, ebp = 0 ---
acquiring duplicate lock of same type: "zfs:dbuf"
 1st zfs:dbuf _at_ /usr/src/sys/modules/zfs/../../compat/opensolaris/sys/mutex.h:44
 2nd zfs:dbuf _at_ /usr/src/sys/modules/zfs/../../compat/opensolaris/sys/mutex.h:44
KDB: stack backtrace:
db_trace_self_wrapper(c094d3a8) at db_trace_self_wrapper+0x25
kdb_backtrace(0,e6d5fa70,c0a5c620,c0a5c620,c09f7c0c,...) at kdb_backtrace+0x29
witness_checkorder(c5049e04,9,c4c9d083,2c) at witness_checkorder+0x586
_sx_xlock(c5049e04,c4c9d083,2c,c4e416a0,c488b800,...) at _sx_xlock+0x50
dbuf_rele(c5049dc8,c4e416a0,c4dce000,c4e416a0,c4e416a0,...) at dbuf_rele+0x19
dsl_dir_close(c488b800,c4e416a0,c4e416a0,18,c443e260,...) at dsl_dir_close+0x1f
dsl_prop_unregister(c488ba00,c4ca18f7,c4c53f54,c488bc00,cde5b7,...) at
dsl_prop_unregister+0xd1
dmu_objset_evict(c488ba00,c488bc00,c5049bd0,0,e6d5fb54,...) at
dmu_objset_evict+0x3a
dsl_dataset_evict(c5049bd0,c488ba00,1,e6d5fb6c,c4c4e27b,...) at
dsl_dataset_evict+0x34
dbuf_evict_user(c5049bd0,c4c1d180,c488bc00,c4eed800,e6d5fb88,...) at
dbuf_evict_user+0x37
dbuf_rele(c5049bd0,c488ba00,0,c5043b94,0,...) at dbuf_rele+0x93
killer(c4eed800,c5046974,c488bc00,0,c5046974,...) at killer+0xec
arc_write_done(c4eed800,c504f880,c4dce000,c4eed800,c4eeda00,...) at
arc_write_done+0x16c
zio_done(c4eed800,c4eed9f4,e6d5fc00,c4c84df7,c4eed800,...) at zio_done+0x159
zio_next_stage(c4eed800,c4eed800,c4eed800,0,e6d5fc14,...) at zio_next_stage+0x8e
zio_wait_for_children(c4eed800,11,c4eed9f4,e6d5fc24,c4c8681a,...) at
zio_wait_for_children+0x3f
zio_wait_children_done(c4eed800,c4eed800,e6d5fc5c,c4c865ae,c4eed800,...)
at zio_wait_children_done+0x15
zio_next_stage(c4eed800,0,c06b7757,c4ca4260,80,...) at zio_next_stage+0x8e
zio_vdev_io_assess(c4eed800,c4c1d138,e6d5fc94,c4c7547e,c4eed800,...)
at zio_vdev_io_assess+0x19a
zio_next_stage(c4eed800,c4eed800,c0a4dde8,0,3,...) at zio_next_stage+0x8e
vdev_mirror_io_done(c4eed800,e6d5fd04,c4c45c61,c4eed800,c4e3da48,...)
at vdev_mirror_io_done+0xba
zio_vdev_io_done(c4eed800,c4e3da48,c4e3da48,c4e3da48,70cd290a,...) at
zio_vdev_io_done+0x16
taskq_thread(c4e3da28,e6d5fd38) at taskq_thread+0x195
fork_exit(c4c45acc,c4e3da28,e6d5fd38) at fork_exit+0xac
fork_trampoline() at fork_trampoline+0x8
--- trap 0, eip = 0, esp = 0xe6d5fd70, ebp = 0 ---
lock order reversal:
 1st 0xc49ff420 <mtxnone> (<mtxnone>) _at_
/usr/src/sys/modules/zfs/../../compat/opensolaris/sys/mutex.h:44
 2nd 0xc504a624 zfs:dbuf (zfs:dbuf) _at_
/usr/src/sys/modules/zfs/../../compat/opensolaris/sys/mutex.h:44
KDB: stack backtrace:
db_trace_self_wrapper(c094d3a8) at db_trace_self_wrapper+0x25
kdb_backtrace(0,ffffffff,c0a5c4e0,c0a5c620,c09f7c0c,...) at kdb_backtrace+0x29
witness_checkorder(c504a624,9,c4c9d083,2c) at witness_checkorder+0x586
_sx_xlock(c504a624,c4c9d083,2c,c5053d80,c4c05400,...) at _sx_xlock+0x50
dbuf_sync_indirect(c4c05400,c4c1de00,c49ff420,c5095000,c49ff400,...)
at dbuf_sync_indirect+0x25
dbuf_sync_list(c49ff454,c4c1de00,c5053d80,c49ff400,c5053e68,...) at
dbuf_sync_list+0x30
dbuf_sync_indirect(c49ff400,c4c1de00,c4ef8000,c5053d80,c488b200,...)
at dbuf_sync_indirect+0xca
dbuf_sync_list(c5053e68,c4c1de00,c5053e68,1,40000,...) at dbuf_sync_list+0x30
dnode_sync(c5053d80,c4c1de00,c5094c00,5,0,...) at dnode_sync+0x29b
dmu_objset_sync(c488b200,c5095c00,c4c1de00,c488b800,c4c1de00,...) at
dmu_objset_sync+0x112
dsl_dataset_sync(c488b000,c5095c00,c4c1de00,c4bde000,c4c1de00,...) at
dsl_dataset_sync+0x22
dsl_pool_sync(c4eee400,5,0,c4dce000,5,...) at dsl_pool_sync+0x74
spa_sync(c4dce000,5,0,c4eee4e0,c4eee4e0,...) at spa_sync+0x228
txg_sync_thread(c4eee400,e6e5bd38) at txg_sync_thread+0x1b3
fork_exit(c4c6f23c,c4eee400,e6e5bd38) at fork_exit+0xac
fork_trampoline() at fork_trampoline+0x8
--- trap 0, eip = 0, esp = 0xe6e5bd70, ebp = 0 ---
acquiring duplicate lock of same type: "<mtxnone>"
 1st <mtxnone> _at_
/usr/src/sys/modules/zfs/../../compat/opensolaris/sys/mutex.h:44
 2nd <mtxnone> _at_
/usr/src/sys/modules/zfs/../../compat/opensolaris/sys/mutex.h:44
KDB: stack backtrace:
db_trace_self_wrapper(c094d3a8) at db_trace_self_wrapper+0x25
kdb_backtrace(0,e6e5baf8,c0a5c4e0,c0a5c4e0,c09f7c0c,...) at kdb_backtrace+0x29
witness_checkorder(c4c05420,9,c4c9d083,2c) at witness_checkorder+0x586
_sx_xlock(c4c05420,c4c9d083,2c,c5053d80,c4c05400,...) at _sx_xlock+0x50
dbuf_sync_indirect(c4c05400,c4c1de00,c49ff420,c5095000,c49ff400,...)
at dbuf_sync_indirect+0xbb
dbuf_sync_list(c49ff454,c4c1de00,c5053d80,c49ff400,c5053e68,...) at
dbuf_sync_list+0x30
dbuf_sync_indirect(c49ff400,c4c1de00,c4ef8000,c5053d80,c488b200,...)
at dbuf_sync_indirect+0xca
dbuf_sync_list(c5053e68,c4c1de00,c5053e68,1,40000,...) at dbuf_sync_list+0x30
dnode_sync(c5053d80,c4c1de00,c5094c00,5,0,...) at dnode_sync+0x29b
dmu_objset_sync(c488b200,c5095c00,c4c1de00,c488b800,c4c1de00,...) at
dmu_objset_sync+0x112
dsl_dataset_sync(c488b000,c5095c00,c4c1de00,c4bde000,c4c1de00,...) at
dsl_dataset_sync+0x22
dsl_pool_sync(c4eee400,5,0,c4dce000,5,...) at dsl_pool_sync+0x74
spa_sync(c4dce000,5,0,c4eee4e0,c4eee4e0,...) at spa_sync+0x228
txg_sync_thread(c4eee400,e6e5bd38) at txg_sync_thread+0x1b3
fork_exit(c4c6f23c,c4eee400,e6e5bd38) at fork_exit+0xac
fork_trampoline() at fork_trampoline+0x8
--- trap 0, eip = 0, esp = 0xe6e5bd70, ebp = 0 ---
acquiring duplicate lock of same type: "zfs:dns"
 1st zfs:dns _at_ /usr/src/sys/modules/zfs/../../compat/opensolaris/sys/rwlock.h:45
 2nd zfs:dns _at_ /usr/src/sys/modules/zfs/../../compat/opensolaris/sys/rwlock.h:45
KDB: stack backtrace:
db_trace_self_wrapper(c094d3a8) at db_trace_self_wrapper+0x25
kdb_backtrace(0,e6e5ba60,c0a5c6c0,c0a5c6c0,c09f7c0c,...) at kdb_backtrace+0x29
witness_checkorder(c5048000,9,c4c9d47a,2d) at witness_checkorder+0x586
_sx_xlock(c5048000,c4c9d47a,2d,c97f6384,36,...) at _sx_xlock+0x50
dnode_new_blkid(c5048000,1,0,ccb4c080,c09499b0,...) at dnode_new_blkid+0x57
dbuf_dirty(c97f6348,ccb4c080,cb9196c0,2c8,c4bde068,...) at dbuf_dirty+0x375
dnode_setdirty(cb9196c0,ccb4c080,cb9196c0,0,0,...) at dnode_setdirty+0xf9
dnode_free_range(cb9196c0,0,0,ffffffff,ffffffff,...) at dnode_free_range+0x5de
dmu_free_range(c4bde018,35,0,0,0,...) at dmu_free_range+0x3f
space_map_truncate(c4ed704c,c4bde018,ccb4c080,11e,0,...) at
space_map_truncate+0x1f
metaslab_sync(c4ed7000,2c8,0,c4ec51f8,c4dce000,...) at metaslab_sync+0x221
vdev_sync(c4ec5000,2c8,0,11e,c4eee4ac,...) at vdev_sync+0x98
spa_sync(c4dce000,2c8,0,c4eee4e0,c4eee4e0,...) at spa_sync+0x23c
txg_sync_thread(c4eee400,e6e5bd38) at txg_sync_thread+0x1b3
fork_exit(c4c6f23c,c4eee400,e6e5bd38) at fork_exit+0xac
fork_trampoline() at fork_trampoline+0x8
--- trap 0, eip = 0, esp = 0xe6e5bd70, ebp = 0 ---
lock order reversal:
 1st 0xc504a96c zfs:dbuf (zfs:dbuf) _at_
/usr/src/sys/modules/zfs/../../compat/opensolaris/sys/mutex.h:44
 2nd 0xc5066b10 zfs:zn (zfs:zn) _at_
/usr/src/sys/modules/zfs/../../compat/opensolaris/sys/mutex.h:44
KDB: stack backtrace:
db_trace_self_wrapper(c094d3a8) at db_trace_self_wrapper+0x25
kdb_backtrace(0,ffffffff,c0a5c620,c0a5c440,c09f7c0c,...) at kdb_backtrace+0x29
witness_checkorder(c5066b10,9,c4c9d083,2c) at witness_checkorder+0x586
_sx_xlock(c5066b10,c4c9d083,2c,e6e5ba2c,c0a4e028,...) at _sx_xlock+0x50
znode_pageout_func(c504a930,c5066b00,c504a930,e6e5ba64,c4c4d8a5,...)
at znode_pageout_func+0xf0
dbuf_evict_user(c504a930,0,c504a2a0,c504a930,c535c81c,...) at
dbuf_evict_user+0x37
dbuf_clear(c504a930,e6e5ba90,e6e5bb4c,c4c5b559,c504a930,...) at dbuf_clear+0x25
dbuf_evict(c504a930,c50781d4,c50781a0,0,0,...) at dbuf_evict+0xd
dnode_evict_dbufs(c5078000,0,c5078108,c50d1800,cd7a2080,...) at
dnode_evict_dbufs+0x209
dnode_sync_free(c5078000,cd7a2080,c5078108,3,c5078000,...) at
dnode_sync_free+0x2c
dnode_sync(c5078000,cd7a2080,c488b30c,c5078000,c488b230,...) at dnode_sync+0x26a
dmu_objset_sync_dnodes(c488b30c,cd7a2080,c5053d80,cd7a2080,c5590000,...)
at dmu_objset_sync_dnodes+0x30
dmu_objset_sync(c488b200,c9b3a000,cd7a2080,c488b800,cd7a2080,...) at
dmu_objset_sync+0x12e
dsl_dataset_sync(c488b000,c9b3a000,cd7a2080,c4bde000,cd7a2080,...) at
dsl_dataset_sync+0x22
dsl_pool_sync(c4eee400,2f7,0,c4dce000,2f7,...) at dsl_pool_sync+0x74
spa_sync(c4dce000,2f7,0,c4eee4e0,c4eee4e0,...) at spa_sync+0x228
txg_sync_thread(c4eee400,e6e5bd38) at txg_sync_thread+0x1b3
fork_exit(c4c6f23c,c4eee400,e6e5bd38) at fork_exit+0xac
fork_trampoline() at fork_trampoline+0x8
--- trap 0, eip = 0, esp = 0xe6e5bd70, ebp = 0 ---

I don't know exactly what commands/actions kicked this LORs but I can
try and replicate tomorrow. It's 3 am again...


-- 
Joao Barros
Received on Wed Mar 07 2007 - 02:16:50 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:06 UTC