tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: VOP_GETATTR: locking protocol change proposal



hi,

> 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.

postgresql assumes instant lseek(SEEK_END) to get the size of
their heap files.

        http://rhaas.blogspot.com/2011/11/linux-lseek-scalability.html

as fsync etc keeps the vnode lock during i/o, it might cause severe
performance regression.

YAMAMOTO Takashi

> 
> --
> Juergen Hannken-Illjes - hannken%eis.cs.tu-bs.de@localhost - TU Braunschweig 
> (Germany)


Home | Main Index | Thread Index | Old Index