Red Hat Bugzilla – Bug 440483
fuse-encfs: issues with flocks
Last modified: 2008-05-17 18:25:04 EDT
Description of problem:
fuse-encfs does not seem to implement flocks properly. It allows multiple
processes to acquire LOCK_EX flocks on the same file. Additionally, multiple
locks can cause encfs mount to "freeze" - all processes attempting an IO on any
file in encfs filesystem are blocked and uninterruptible.
Version-Release number of selected component (if applicable):
$ rpm -q fuse fuse-encfs
Steps to Reproduce:
1. Create encfs filesystem / mount.
2. Compile attached program.
3. Run it inside encfs mount as: ./encfs-flock & ./encfs-flock & ./encfs-flock
4. Try e.g. ls encfsdir
5. Do: killall encfs-flock ; killall ulockmgr_server to bring encfs mount back
Multiple locks acquired, encfs mount IO blocked.
No blocked IO, no multiple locks.
Previous F8 fuse-encfs version was not affected by this problem.
Tested also with fuse-sshfs-1.9-2.fc8, problem does not occur there, which may
imply this is encfs issue rather than fuse issue.
This problem was spotted when running autotools inside encfs mount. You should
be able to reproduce with rpmbuild rebuild of any SRPM that calls autoconf /
autoreconf in %prep (e.g. openssh, cups).
Created attachment 300300 [details]
encfs-flock.c - encfs flock problem reproducer
See https://bugs.launchpad.net/encfs/+bug/200685 for comments.
fixed in 1.4.2 release
fuse-encfs-1.4.2-2.fc8 has been submitted as an update for Fedora 8
fuse-encfs-1.4.2-2.fc9 has been submitted as an update for Fedora 9
fuse-encfs-1.4.2-2.fc8 has been pushed to the Fedora 8 testing repository. If problems still persist, please make note of it in this bug report.
If you want to test the update, you can install it with
su -c 'yum --enablerepo=updates-testing update fuse-encfs'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F8/FEDORA-2008-3555
fuse-encfs-1.4.2-2.fc8 has been pushed to the Fedora 8 stable repository. If problems still persist, please make note of it in this bug report.
fuse-encfs-1.4.2-2.fc9 has been pushed to the Fedora 9 stable repository. If problems still persist, please make note of it in this bug report.