Re: Processes getting stuck in state tmpfs

From: Gleb Kurtsou <gleb.kurtsou_at_gmail.com>
Date: Sat, 11 Feb 2012 12:20:06 +0200
On (10/02/2012 22:41), Florian Smeets wrote:
> Hi,
> 
> if you set WRKDIRPREFIX to a tmpfs mountpoint and try to build audio/gsm
> from ports one of the mv processes gets stuck in state tmpfs quite
> often. Traces from a kernel with WITTNESS and DEBUG_VFS_LOCKS are
> available here http://tb.smeets.im/~flo/tmpfs.txt

It's because of incorrect vnode locking order in tmpfs_rename. Issue is
known and tmpfs is not the only file system suffering from it (e.g. ext2).

There two ways of working around it in tree:
* UFS: try locking vnode, unlock all vnodes on failure, restart,
relookup vnodes needed.
* ZFS: introduce directory entry locks to guarantee fvp won't disappear,
fdvp can be safely traversed, etc. That won't be easy..

UFS-way would be a good temporal solution, but I think we should work on
improving VOP_RENAME() in a long run.

I'll try to prepare a patch in several days.

Thanks,
Gleb.
Received on Sat Feb 11 2012 - 09:45:26 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:24 UTC