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 GaponReceived on Thu Jul 30 2009 - 10:11:52 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:52 UTC