The vnode locking requirement currently allows to call VOP_GETATTR() on an unlocked vnode. This is orthogonal to all other operations that read data or metadata and want at least a shared lock. It also asks for trouble as the attributes may change while the operation is in progress.
With the attached diff the locking protocol requests at least a shared lock and all calls to VOP_GETATTR() outside of file systems respect it. The calls from file systems need review (NFS server is suspicious at least). I will commit this diff around Oct 14 if noone objects. -- Juergen Hannken-Illjes - [email protected] - TU Braunschweig (Germany)
vop_getattr.diff
Description: Binary data
