Pawel Jakub Dawidek | 31 Aug 23:59 2010
Picon

ZFS v28 is ready for wider testing.

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! >:>

--

-- 
Pawel Jakub Dawidek                       http://www.wheelsystems.com
pjd <at> FreeBSD.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!

Gmane