zfs: Fatal trap 12: page fault while in kernel mode

Andriy Gapon avg at freebsd.org
Thu Jul 30 12:11:52 UTC 2009


on 29/07/2009 21:04 Thomas Backman said the following:
> Thanks for your work :)
> However, bad news: it didn't help. It *might* have gotten us further,
> though, because the DDB backtrace now looks like this:
> 
> _sx_xlock_hard()
> _sx_xlock()
> zfs_znode_free()
> zfs_freebsd_inactive()
> VOP_INACTIVE_APV()
> vinactive()
> vput()
> dounmount()
> unmount()
> syscall()
> XFast_syscall()
> 

Oh my bad. I missed the fact that recycle would do zfs_znode_free, so it seems
like zfs_znode_free was called twice on the same znode.
Could you please try replacing
	zfs_znode_free(zp);
with
	vrecycle(vp, curthread);
in the same block (instead of adding the latter before the former).
Sorry, if this looks like shooting in the dark - because this is what it is. I am
not familiar with the code and it's hard to follow all possibilities without good
understanding.

-- 
Andriy Gapon


More information about the freebsd-fs mailing list