Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Aug 2009 21:13:34 +0200
From:      Pawel Jakub Dawidek <pjd@FreeBSD.org>
To:        Boris Kochergin <spawk@acm.poly.edu>
Cc:        freebsd-fs@freebsd.org
Subject:   Re: ZFS RAID-Z panic on vdev failure + subsequent panics and hangs
Message-ID:  <20090807191334.GA1814@garage.freebsd.pl>
In-Reply-To: <4A7C3002.8000003@acm.poly.edu>
References:  <4A78AA71.9050107@acm.poly.edu> <4A78AFB2.10103@acm.poly.edu> <20090805115621.GG1784@garage.freebsd.pl> <4A798A12.4070408@acm.poly.edu> <20090807073738.GA1607@garage.freebsd.pl> <20090807074400.GB1607@garage.freebsd.pl> <4A7C3002.8000003@acm.poly.edu>

next in thread | previous in thread | raw e-mail | index | archive | help

--wRRV7LY7NUeQGEoC
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Aug 07, 2009 at 09:45:38AM -0400, Boris Kochergin wrote:
> Maybe my kgdb chops aren't up to par, but I can't seem to see what=20
> ab_prev points to:
>=20
> (kgdb) up
> #12 0xffffffff8103a9e7 in arc_evict (state=3DVariable "state" is not=20
> available.
> ) at=20
> /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs=
/arc.c:1489
> 1489                    if (recycle && ab->b_size !=3D bytes &&
> Current language:  auto; currently c
> (kgdb) list
> 1484                        LBOLT - ab->b_arc_access <=20
> arc_min_prefetch_lifespan)) {
> 1485                            skipped++;
> 1486                            continue;
> 1487                    }
> 1488                    /* "lookahead" for better eviction candidate */
> 1489                    if (recycle && ab->b_size !=3D bytes &&
> 1490                        ab_prev && ab_prev->b_size =3D=3D bytes)
> 1491                            continue;
> 1492                    hash_lock =3D HDR_LOCK(ab);
> 1493                    have_lock =3D MUTEX_HELD(hash_lock);
> (kgdb) print ab
> $13 =3D (arc_buf_hdr_t *) 0xffffff0003ebc410
> (kgdb) print ab->b_size
> $14 =3D 1
> (kgdb) print bytes
> $15 =3D 16384
> (kgdb) print ab_prev
> No symbol "ab_prev" in current context.

Yeah, that's strange indeed. Could you try:

	print ab->b_arc_node.list_prev
	print ab->b_arc_node.list_next

--=20
Pawel Jakub Dawidek                       http://www.wheel.pl
pjd@FreeBSD.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!

--wRRV7LY7NUeQGEoC
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.4 (FreeBSD)

iD8DBQFKfHzeForvXbEpPzQRAifkAJsE/r1XUHmK6YlpetGXJyKwagTG7ACg5QbI
4l19ImcEfJgtsDs45NPpjCM=
=DI5N
-----END PGP SIGNATURE-----

--wRRV7LY7NUeQGEoC--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090807191334.GA1814>