Re: ZFS panic (dn->dn_datablkshift != 0) with r256304 and send/recv

From: Keith White <kwhite_at_site.uottawa.ca>
Date: Mon, 14 Oct 2013 08:10:41 -0400 (EDT)
On Mon, 14 Oct 2013, Andriy Gapon wrote:

> on 14/10/2013 03:34 Keith White said the following:
>> I get the following assert failure with a recent current:
>>
>> panic: solaris assert: dn->dn_datablkshift != 0, file:
>> /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c,
>> line: 638
>
> Please see https://www.illumos.org/issues/4188
> The current best known fix is to simply drop the assertion.
> ...

Thanks!  It works for me.   Receive completes, and filesystems compare the same.

Index: /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c
===================================================================
--- /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c    (revision 256304)
+++ /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c    (working copy)
_at__at_ -635,7 +635,7 _at__at_
                 uint64_t start = off >> shift;
                 uint64_t end = (off + len) >> shift;

-               ASSERT(dn->dn_datablkshift != 0);
+               /* XXX may be false alarm: ASSERT(dn->dn_datablkshift != 0); XXX */
                 ASSERT(dn->dn_indblkshift != 0);

                 zio = zio_root(tx->tx_pool->dp_spa,

> Though, I am not entirely sure if this will be the final solution.  I'll
> double-check with Matt.
>

...keith
Received on Mon Oct 14 2013 - 10:10:42 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:42 UTC