Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Jun 2014 22:15:10 +0100
From:      "Steven Hartland" <killing@multiplay.co.uk>
To:        <mike@bayphoto.com>, <freebsd-fs@freebsd.org>
Subject:   Re: ZFS Kernel Panic on 10.0-RELEASE
Message-ID:  <85184EB23AA84607A360E601D03E1741@multiplay.co.uk>
References:  <5388D64D.4030400@bayphoto.com> <EC2EA442-56FC-46B4-A1E2-97523029B7B3@mail.turbofuzz.com> <5388E5B4.3030002@bayphoto.com> <538BBEB7.4070008@bayphoto.com> <782C34792E95484DBA631A96FE3BEF20@multiplay.co.uk> <538C9CF3.6070208@bayphoto.com> <16ADD4D9DC73403C9669D8F34FDBD316@multiplay.co.uk> <538CB3EA.9010807@bayphoto.com> <6C6FB182781541CEBF627998B73B1DB4@multiplay.co.uk> <538CC16A.6060207@bayphoto.com> <F959477921CD4552A94BF932A55961F4@multiplay.co.uk> <538CDB7F.2060408@bayphoto.com> <88B3A7562A5F4F9B9EEF0E83BCAD2FB0@multiplay.co.uk> <538CE2B3.8090008@bayphoto.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.

------=_NextPart_000_0602_01CF7EB0.1E7212D0
Content-Type: text/plain;
	format=flowed;
	charset="Windows-1252";
	reply-type=response
Content-Transfer-Encoding: 7bit

----- Original Message ----- 
From: "Mike Carlson" <mike@bayphoto.com>

>> Thats the line I gathered it was on but no I need to know what the value
>> of vd is, so what you need to do is:
>> print vd
>>
>> If thats valid then:
>> print *vd
>>
>It reports:
>
>(kgdb) print *vd
> No symbol "vd" in current context.

Dam optimiser :(

> Should I rebuild the kernel with additional options?

Likely wont help as kernel with zero optimisations tends to fail
to build in my experience :(

Can you try applying the attached patch to your src e.g.
cd /usr/src
patch < zfs-dsize-dva-check.patch

The rebuild, install the kernel and then reproduce the issue again.

Hopefully it will provide some more information on the cause, but
I suspect you might be seeing the effect os have some corruption.

    Regards
    Steve
------=_NextPart_000_0602_01CF7EB0.1E7212D0
Content-Type: application/octet-stream;
	name="zfs-dsize-dva-check.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="zfs-dsize-dva-check.patch"

Index: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c=0A=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A=
--- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c	(revision =
266009)=0A=
+++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c	(working =
copy)=0A=
@@ -1631,7 +1631,14 @@ dva_get_dsize_sync(spa_t *spa, const dva_t *dva)=0A=
 	ASSERT(spa_config_held(spa, SCL_ALL, RW_READER) !=3D 0);=0A=
 =0A=
 	if (asize !=3D 0 && spa->spa_deflate) {=0A=
-		vdev_t *vd =3D vdev_lookup_top(spa, DVA_GET_VDEV(dva));=0A=
+		uint64_t vdev =3D DVA_GET_VDEV(dva);=0A=
+		vdev_t *vd =3D vdev_lookup_top(spa, vdev);=0A=
+		if (vd =3D=3D NULL) {=0A=
+			cmn_err(CE_WARN, "dva_get_dsize_sync(): bad DVA %llu:%llu",=0A=
+			    (u_longlong_t)vdev, (u_longlong_t)asize);=0A=
+			ASSERT(0);=0A=
+			return (dsize);=0A=
+		}=0A=
 		dsize =3D (asize >> SPA_MINBLOCKSHIFT) * vd->vdev_deflate_ratio;=0A=
 	}=0A=
 =0A=

------=_NextPart_000_0602_01CF7EB0.1E7212D0--




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