I'm running with a ZFS root file system using GPT partitioning and gptzfsboot. I then started using ZFS snapshots by using the sysutils/freebsd-snapshot port. This port basically just runs "zfs snapshot" and does some housekeeping. The first snapshot went fine (when the machine was quiet). The second (when the machine was doing a portupgrade) caused a panic. All I have on the console is: panic: dirtying snapshot I traced this down to: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c:1104 void dsl_dataset_dirty(dsl_dataset_t *ds, dmu_tx_t *tx) { dsl_pool_t *dp; if (ds == NULL) /* this is the meta-objset */ return; ASSERT(ds->ds_user_ptr != NULL); if (ds->ds_phys->ds_next_snap_obj != 0) panic("dirtying snapshot!"); dp = ds->ds_dir->dd_pool; if (txg_list_add(&dp->dp_dirty_datasets, ds, tx->tx_txg) == 0) { /* up the hold count until we can be written out */ dmu_buf_add_ref(ds->ds_dbuf, ds); } } I'm not sure what this means though. Sadly I have no debugging enabled and no crash dump. How-To-Repeat: Hard to say. Run ZFS root and do snapshots when the machine is busy? I've only seen it once.
Responsible Changed From-To: freebsd-bugs->freebsd-fs Over to maintainer(s)
State Changed From-To: open->suspended At least backtrace is needed to start working on this problem. Suspend PR until backtrace is provided.
Responsible Changed From-To: freebsd-fs->pjd I'll take this one.
State Changed From-To: suspended->feedback Could you verify if r198703 fixes your problem?
State Changed From-To: feedback->closed r198703 should fix the problem.