Unionfs hangs (live lock, 100% cpu) when unionfs_statfs() calls
vfs_statfs() on a NFS mounted filesystem. This bug appears to be
related to NFS changes in 2.6.18 whereby a dummy inode is used for the
root dentry (see http://lwn.net/Articles/174291/).
Unionfs 2.0 has changed unionfs_statfs() to only stat the highest
priority branch. Comments on the change state:
/* Since people use this to answer the "How big of a file can I write?"
* question, we report the size of the highest priority branch as the size of
* the union.
*/
This (deliberately or not) avoids the vfs_statfs() hang because the NFS
branch is never (or rarely) the highest priority branch in a Unionfs
union mount. Replacing unionfs_statfs() with the original Unionfs 1.x
unionfs_statfs() reproduces the hang on Unionfs 2.0. Therefore it is
clear the underlying issue still exists in Unionfs 2.0.
The workaround adopted is to change unionfs_statfs() behaviour to
Unionfs 2.0 semantics.
** Changed in: linux-source-2.6.20 (Ubuntu)
Status: In Progress => Fix Committed
--
Unionfs: 'df' hangs if an Unionfs branch is a NFS mount
https://launchpad.net/bugs/90088
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs