ZFS v28 is ready for wider testing.
Josh Paetzel
josh at tcbug.org
Wed Sep 1 14:48:32 UTC 2010
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
--
Thanks,
Josh Paetzel
More information about the freebsd-fs
mailing list