ffs_truncate3 panics

Konstantin Belousov kostikbel at gmail.com
Fri Aug 10 06:16:38 UTC 2018


On Thu, Aug 09, 2018 at 08:38:50PM +0000, Rick Macklem wrote:
> I did notice that my code locks the vnode first and then calls vn_start_write()
>  for the vn_extattr_set() calls, whereas the syscall code locks the vnode after the vn_start_write() call.
> 
> Does that matter?

Yes, it matter.  It would cause deadlocks when corresponding filesystem
is suspended in parallel with NFSD activities.  vn_start_write() is a lock,
and the correct lock order is vn_start_write()->vnode lock.


More information about the freebsd-current mailing list