Sam Nicholson wrote:
Greetings,

snv_79a
AMD 64x2 in 64 bit kernel mode.

I'm in the middle of migrating a large zfs set from a pair of 1TB mirrors to a 1.3TB RAIDz.

I decided to use zfs send | zfs receive, so the first order of business was to snap the entire source filesystem.
# zfs snapshot -r [EMAIL PROTECTED]

What happened was expected, the source drives flashed and wiggled :)
What happened next was not, the destination drives (or maybe the boot drive, as they share one disk activity light) began flashing and wiggling, and have been doing so for 12 hours how.

iostat shows no activity to speak of, and no transfers at all on any of the disks. ditto for zpool iostat.

all zfs commands hang, and the lack of output from truss'ing the pids indicate they are stuck in the kernel. Heck, I can't even reboot, as that
hangs.

So what I was wondering whether there exists a dtrace recipe or some such that I can use to figure out where this is hung in the kernel.

Cheers!
-sam
This message posted from opensolaris.org
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Hi
echo "::walk thread|::findstack!munges" |mdb -k > sometestfile.txt

where munges is the script I have attached ( courtesy of David Powell I believe ), ie place munges somewhere on your path, and run above.

This text file might be large ( most likely will be, but the munges bit will trim it down sufficiently ), so examine it and see if there are any zfs related stuff in there.

That might be sufficient to get an idea of where zfs is stuck, else might need the entire text file.
Assuming that this actually works ( seen as reboot is apparently even stuck )

Enda
#!/bin/sh
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License, Version 1.0 only
# (the "License").  You may not use this file except in compliance
# with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#
# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#

#
# Stack munging utility, written by David Powell.
#
# Takes the output of multiple ::findstack dcmds and groups similar 
# stacks together, presenting the most common ones first.  To use:
#
# > ::walk thread | ::findstack ! munges
#

foo="d"
bar=""
while getopts ab i; do
        case $i in
        b)      foo="s/\[\(.*\) ]/\1/";;
        a)      bar="s/+[^(]*//";;
        esac
done

sed "
/^P/ d
/(..*)$/ d
s/^s.*read \(.*:\).*$/\1/
t a
/^\[/ $foo
s/^ .* \(.*\)$/ \1/
$bar
H
$ !d
s/.*//
:a
x
1 d
s/\n//g
" | sort -t : -k 2 | uniq -c -f 1 | sort -rn  | sed '
s/) /)\
        /g
s/^ *\([^ ]*\) *\(.*\): */\1    ##################################  tp: \2\
        /
1 !s/^/\
/
'
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to