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.
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to