Hello,

occasionally we got some solaris 10 server to panic in zfs code while doing
"zfs send -i [EMAIL PROTECTED] [EMAIL PROTECTED] | ssh remote zfs receive 
poolname".
The race condition(s) get triggered by a broken data transmission or killing 
sending zfs or ssh command.
The panic or hanging zfs commands occurs on receiving end.

I've tried to reproduce the conditions with a small (quick&dirty) script.
You'll find it as an attached file. After starting the enclosed script with
    ./zfs-hardness-test.sh /var/tmp
it does the following:
- Creates a zpool on files in /var/tmp/...
- Copies some files to that zpool and creates snapshot "A".
- Copies more files into zpool and creates another snapshot "B".
- zfs send snapA >fileA
- zfs send -i snapA snapB >fileAB
- destroys zpool and creates new/empty zpool
- zfs receive of snapA from fileA via "ssh localhost"
At this point the script enters a endless loop of...
- zfs receive of incremental snapAB from file AB via "ssh localhost"
- zfs destroy snapB (if exists)
- zfs list
- restart loop

The key point is that receiving of incremental snapAB will break at some random 
point, except for the first iteration where a full receive will be done. For 
breaking things the script sends a SIGINT to zfs and ssh commands. This 
simulates a broken data transmission.

I suppose on busy (or slow) server you'll have more chance to trigger the 
problem. On all testes system, sparc and x86, solaris will panic or hang in 
"zfs receive" & "zfs list".

Is this a (two?) known bug(s). Are there patches available?

This is the output of "uname -a;head -1 /etc/release" of some systems tested:
SunOS vs104is1 5.10 Generic_127112-02 i86pc i386 i86pc
                        Solaris 10 8/07 s10x_u4wos_12b X86
SunOS qachpi10 5.10 Generic_137112-02 i86pc i386 i86pc
                        Solaris 10 5/08 s10x_u5wos_10 X86
SunOS qacult10 5.10 Generic_137111-08 sun4u sparc SUNW,Ultra-5_10
                       Solaris 10 5/08 s10s_u5wos_10 SPARC
SunOS qacpp03 5.10 Generic_127111-05 sun4us sparc FJSV,GPUSC-M
                       Solaris 10 11/06 s10s_u3wos_10 SPARC
SunOS qacult31 5.10 Generic_127127-11 sun4u sparc SUNW,Ultra-30
                       Solaris 10 5/08 s10s_u5wos_10 SPARC

Disclaimer:
DO NOT USE THE ATTACHED SCRIPT ON PRODUCTIVE SERVER. USE IT AT YOUR OWN RISK. 
USE IT ON A TEST SERVER ONLY. IT'S LIKELY THAT YOU WILL DAMAGE YOUR SERVER OR 
YOUR DATA BY RUNNING THIS SCRIPT.

- Andreas
-- 
This message posted from opensolaris.org

Attachment: zfs-hardness-test.sh
Description: Binary data

_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to