From owner-freebsd-current@FreeBSD.ORG Wed Mar 7 03:16:50 2007 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9678F16A401 for ; Wed, 7 Mar 2007 03:16:50 +0000 (UTC) (envelope-from joao.barros@gmail.com) Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.191]) by mx1.freebsd.org (Postfix) with ESMTP id 1F34213C47E for ; Wed, 7 Mar 2007 03:16:49 +0000 (UTC) (envelope-from joao.barros@gmail.com) Received: by nf-out-0910.google.com with SMTP id k27so22793nfc for ; Tue, 06 Mar 2007 19:16:48 -0800 (PST) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=IbW3HQkC6fAxr03kPTacas2SuL7zPWV++T+g40WYtxjDWQ3eJo1S02BXw+4UgMMJgZBE62Rpy0mnywZjow0Xq55OGKbJ2+/jMRCsff5pP51N1vU95JUjHZ+bmkiMjmJGTfRQlD8y2mNQ+ry0QXBv3FQS3iCPQczP3ddBKmalncE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=CMOiNK4zkCgZKhShykwBO0IzSGHempWSN2d56Ygk9s8C29M0ZZkn5mRnTuaClzrFEVFmPqbjfTeh3oE/DFOqZOk3AIPM9v7i+fx637WHGZbm9uO5V+Fsqbs78q5J9e3RdLXCbEzLfihvoV/x0/kXMIHxxkJzcmafdHBsjzd5BLo= Received: by 10.78.178.5 with SMTP id a5mr906435huf.1173237408591; Tue, 06 Mar 2007 19:16:48 -0800 (PST) Received: by 10.78.15.2 with HTTP; Tue, 6 Mar 2007 19:16:48 -0800 (PST) Message-ID: <70e8236f0703061916u466e8ddcxbd1980dfca0c669@mail.gmail.com> Date: Wed, 7 Mar 2007 03:16:48 +0000 From: "Joao Barros" To: "Pawel Jakub Dawidek" , freebsd-fs@freebsd.org, freebsd-current@freebsd.org In-Reply-To: <45ED9289.4090001@barryp.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <20070304123801.GA22350@garage.freebsd.pl> <20070306005831.22fb6115.nork@FreeBSD.org> <70e8236f0703060725j3487764enffe1ad524a098c96@mail.gmail.com> <45ED9289.4090001@barryp.org> Cc: Subject: Re: ZFS port to FreeBSD: 2nd patchset available. X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Mar 2007 03:16:50 -0000 On 3/6/07, Barry Pederson 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 @ /usr/src/sys/modules/zfs/../../compat/opensolaris/sys/mutex.h:44 2nd zfs:tx:cpu @ /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 @ /usr/src/sys/modules/zfs/../../compat/opensolaris/sys/mutex.h:44 2nd zfs:dbuf @ /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 () @ /usr/src/sys/modules/zfs/../../compat/opensolaris/sys/mutex.h:44 2nd 0xc504a624 zfs:dbuf (zfs:dbuf) @ /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: "" 1st @ /usr/src/sys/modules/zfs/../../compat/opensolaris/sys/mutex.h:44 2nd @ /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 @ /usr/src/sys/modules/zfs/../../compat/opensolaris/sys/rwlock.h:45 2nd zfs:dns @ /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) @ /usr/src/sys/modules/zfs/../../compat/opensolaris/sys/mutex.h:44 2nd 0xc5066b10 zfs:zn (zfs:zn) @ /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