Date: Sat, 11 Feb 2012 12:20:06 +0200 From: Gleb Kurtsou <gleb.kurtsou@gmail.com> To: Florian Smeets <flo@FreeBSD.org> Cc: Konstantin Belousov <kib@FreeBSD.org>, decke@FreeBSD.org, "current@freebsd.org" <current@FreeBSD.org> Subject: Re: Processes getting stuck in state tmpfs Message-ID: <20120211102006.GA1274@reks> In-Reply-To: <4F358F01.1090508@FreeBSD.org> References: <4F358F01.1090508@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120211102006.GA1274>