panic
  lockmgr
  vop_stdlock
  vop_defaultop
  vn_lock
  osi_VM_TryToSmush
  afs_TryToSmush
  afsremove
  afs_remove

...

It looks like osi_VM_TryToSmush used to only acquire the vnode interlock,
and Garrett went to great lengths to change it so that it locks the vnode
instead.  In this case that's obviously wrong, since afsremove is entered
with the vnode locked.

My guess is that there is some other path that enters osi_VM_TryToSmush
without the vnode locked, and Garrett decided it should be.

I'm reluctant to change this without understanding why Garrett made this
change.  Unfortunately he's busy with another project right now and probably
won't have time to look at this any time soon.
_______________________________________________
OpenAFS-devel mailing list
[EMAIL PROTECTED]
https://lists.openafs.org/mailman/listinfo/openafs-devel

Reply via email to