ZFS v28 is ready for wider testing.

jhell jhell at DataIX.net
Wed Sep 1 22:20:22 UTC 2010


On 09/01/2010 10:28, Josh Paetzel wrote:
> On Tuesday 31 August 2010 16:59:15 Pawel Jakub Dawidek wrote:
>> Hello.
>>
>> I'd like to give you ZFS v28 for testing. If you are neither brave nor
>> mad, you can stop here.
>>
>> The patchset is very experimental. It can eat your cookie and hurt your
>> teddy bear, so be warned. Don't try it for anything except testing.
>>
>> This patchset is also a message we, as the FreeBSD project, would like
>> to send to our users: Eventhough OpenSolaris is dead, the ZFS file
>> system is going to stay in FreeBSD. At this point we have quite a few
>> developers involved in ZFS on FreeBSD as well as serveral companies.
>> We are also looking forward to work with IllumOS.
>>
>> So, what this new ZFS brings?
>>
>> - Data deduplication. Read more here:
>>
>> 	http://blogs.sun.com/bonwick/entry/zfs_dedup
>>
>> - Triple parity RAIDZ (RAIDZ3). Read more here:
>>
>> 	http://dtrace.org/blogs/ahl/2009/07/21/triple-parity-raid-z/
>>
>> - zfs diff. Read more here:
>>
>> 	http://arc.opensolaris.org/caselog/PSARC/2010/105/20100328_tim.haley
>>
>> - zpool split. Read more here:
>>
>> 	http://arc.opensolaris.org/caselog/PSARC/2009/511/20090924_mark.musante
>>
>> - Snapshot holds. Read more here:
>>
>> 	http://arc.opensolaris.org/caselog/PSARC/2009/297/20090511_chris.kirby
>>
>> - zpool import -F. Allows to rewind corrupted pool to earlier
>>   transaction group.
>>
>> - Possibility to import pool in read-only mode.
>>
>> And much, much more, including plenty of preformance improvements and bug
>> fixes.
>>
>> So test whatever you can and report back. Look for regressions, strange
>> behaviour, missing features, deadlocks, livelocks, preformance
>> degradation, etc.
>>
>> The boot code is not updated at all, so booting off of ZFS doesn't
>> currently work.
>>
>> The patch is against today's FreeBSD HEAD.
>>
>> The patch enables (in sys/modules/zfs/Makefile) ZFS internal debugging,
>> please don't turn it off. Also, compile your kernel with the following
>> options:
>>
>> 	options 	KDB
>> 	options 	DDB
>> 	options 	INVARIANTS
>> 	options 	INVARIANT_SUPPORT
>> 	options 	WITNESS
>> 	options 	WITNESS_SKIPSPIN
>> 	options 	DEBUG_LOCKS
>> 	options 	DEBUG_VFS_LOCKS
>>
>> Ignore all the LOR (Lock Order Reversal) reports from WITNESS. There will
>> be plenty of those, and you'll desperately want to report them, but please
>> don't.
>>
>> The best way to report a problem is to answer to this e-mail with as short
>> as possible procedure of how to reproduce it and debugging info. I'd
>> prefer textdump if possible. Below you can find quick procedure how to
>> setup textdumps:
>>
>> 	Choose spare/swap disk/partition in your system, let's say it is
>> 	/dev/ad0s1b.
>>
>> 	Add the following line to /etc/fstab:
>>
>> 		/dev/ad0s1b	none	swap	sw	0	0
>>
>> 	Add the following line to /etc/rc.conf:
>>
>> 		ddb_enable="YES"
>>
>> 	Run the following commands:
>>
>> 		# /etc/rc.d/swap1 start
>> 		# /etc/rc.d/dumpon start
>> 		# /etc/rc.d/ddb start
>>
>> 	This will setup swap, mark it as dump device and setup some DDB
>> 	scripts. Or you can just reboot.
>>
>> 	Now when your system panic or deadlock, enter DDB and call the
>> 	following command:
>>
>> 		ddb> run kdb.enter.panic
>>
>> 	It will execute all the commands I need, dump them in text format to
>> 	your swap device and reboot machine.
>>
>> 	After the reboot, you should find textdump.tar.0 file in /var/crash/
>> 	directory. This is the debug info I need.
>>
>> End of textdumps procedure.
>>
>> Ok, now that I know you read everything carefully, here is the patch:
>>
>> 	http://people.freebsd.org/~pjd/patches/zfs_20100831.patch.bz2
>>
>> Good luck! >:>
> 
> I get the following error from make buildworld after applying the patch.  I 
> checked twice to make sure the patch applied cleanly, which it did.  
> 
> cc -O2 -pipe -
> I/usr/src/cddl/usr.bin/ctfconvert/../../../sys/cddl/compat/opensolaris  -
> I/usr/src/cddl/usr.bin/ctfconvert/../../../cddl/compat/opensolaris/include  -
> I/usr/src/cddl/usr.bin/ctfconvert/../../../cddl/contrib/opensolaris  -
> I/usr/src/cddl/usr.bin/ctfconvert/../../../sys/cddl/contrib/opensolaris  -
> I/usr/src/cddl/usr.bin/ctfconvert/../../../cddl/contrib/opensolaris/head  -
> I/usr/src/cddl/usr.bin/ctfconvert/../../../cddl/contrib/opensolaris/tools/ctf/common  
> -
> I/usr/src/cddl/usr.bin/ctfconvert/../../../cddl/contrib/opensolaris/tools/ctf/cvt  
> -
> I/usr/src/cddl/usr.bin/ctfconvert/../../../sys/cddl/contrib/opensolaris/uts/common 
> -DNEED_SOLARIS_BOOLEAN -g -std=gnu89  -Wno-unknown-pragmas -
> I/usr/obj/usr/src/tmp/legacy/usr/include  -static -
> L/usr/obj/usr/src/tmp/legacy/usr/lib -o ctfconvert alist.o ctf.o ctfconvert.o 
> dwarf.o fixup_tdescs.o hash.o iidesc.o input.o list.o memory.o merge.o 
> output.o st_parse.o stabs.o stack.o strtab.o symbol.o tdata.o traverse.o 
> util.o -lctf -ldwarf -lelf -lz -lpthread -legacy
> strtab.o(.text+0x109): In function `strtab_print':
> /usr/src/cddl/usr.bin/ctfconvert/../../../cddl/contrib/opensolaris/tools/ctf/cvt/strtab.c:249: 
> undefined reference to `MIN'
> strtab.o(.text+0x28d): In function `strtab_insert':
> /usr/src/cddl/usr.bin/ctfconvert/../../../cddl/contrib/opensolaris/tools/ctf/cvt/strtab.c:119: 
> undefined reference to `MIN'
> strtab.o(.text+0x3a1):/usr/src/cddl/usr.bin/ctfconvert/../../../cddl/contrib/opensolaris/tools/ctf/cvt/strtab.c:145: 
> undefined reference to `MIN'
> *** Error code 1
> 1 error
> *** Error code 2
> 1 error
> *** Error code 2
> 1 error
> *** Error code 2
> 1 error
> 
> # uname -a
> FreeBSD head.tcbug.org 9.0-CURRENT FreeBSD 9.0-CURRENT #3: Tue Aug 31 16:30:57 
> UTC 2010     root at head.tcbug.org:/usr/obj/usr/src/sys/HEAD  amd64
> 

Did you apply with ( patch -E -p0 <path/to/patch) ?

If not you need to.

-- 

 jhell,v


More information about the freebsd-current mailing list