Pawel Jakub Dawidek wrote:
> Hi.
> 
> I've almost all file system functions working.
> 
> I started to run some heavy file system regression tests. They work. fsx
> wasn't able to break my port, but the test you can find here:
> 
>       http://people.freebsd.org/~kan/fsstress.tar.gz
> 
> broke it. My kernel panics on this assertion (zfs_dir.c):
> 
> 749:  mutex_exit(&dzp->z_lock);
> 750:
> 751:  error = zap_remove(zp->z_zfsvfs->z_os, dzp->z_id, dl->dl_name, tx);
> 752-> ASSERT(error == 0);
> 753:
> 754:  if (reaped_ptr != NULL)
> 
> zap_remove() returns ENOENT, which is returned because mze_find()
> returns NULL. I changed this assertion to printf and I don't see any
> other problems with this test-suite - ZFS is stable.

Did you figure out what was causing this?  One thing that you could do 
to try an narrow down the bug is make sure that the microzap's in-core 
avl tree (zap_avl) agrees with the on-disk structure (mz_chunk[]).  If 
the entry is missing in both, then the zap is probably working right and 
the problem is likely in the zpl.  Otherwise it's definitely in the zap.

--matt

Reply via email to