trace for zfs panic mounting fs after crash with RC2

James R. Van Artsdalen james-freebsd-fs2 at jrv.org
Fri Nov 6 23:02:27 UTC 2009


Gerrit Kühn wrote:
> I recomplied the kernel with ddb support and got the following trace
> (using mount -t zfs instead of zfs mount this time, but getting the same
> panic):

You may be able to recover your pool by changing the line below, but I
have never tried it: it may clobber the pool.  You definitely don't want
this change normally!  It may be necessary to avoid calling zil_destroy
here too.

How the ZIL got corrupted - if it did - is a harder question.  What kind
of hard disk is this, and how is it connected to the system?  Was there
any redundancy (mirror, raidz)?

void
zil_replay(objset_t *os, void *arg, uint64_t *txgp,
        zil_replay_func_t *replay_func[TX_MAX_TYPE],
        zil_replay_cleaner_t *replay_cleaner)
{
        zilog_t *zilog = dmu_objset_zil(os);
        const zil_header_t *zh = zilog->zl_header;
        zil_replay_arg_t zr;

==>     if (1 || zil_empty(zilog)) {
                zil_destroy(zilog, B_TRUE);
                return;
        }




More information about the freebsd-fs mailing list