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 - hannken%eis.cs.tu-bs.de@localhost - TU Braunschweig (Germany)
Attachment:
vop_getattr.diff
Description: Binary data