Hello, I found an issue with multiple mounts of a single ecryptfs filesystem. It can be demonstrated in the script below.
The encrypted filesystem crypt is mounted to the mount points user1 and user2.
Data written to user2 is not visible in the directory user1, unless it is
unmounted and remounted again.
I suspect the problem with the function ecryptfs_d_revalidate, which calls
revalidate of the lower_dentry in return.
So in this example, after writing to user2, the lower filesystem has a valid
cached dentry, but the user1 dentry is now not in sync.
I've attached a very simple quick & dirty patch, which basically disables the
dentry cache, but resolves this problem. The performance impact seems to be low.
Cheers
Michael
-------------------------
# crypt contains encrypted files
# user1 and user2 contains decrypted files
mount -t ecryptfs crypt user1 ${OPTIONS}
mount -t ecryptfs crypt user2 ${OPTIONS}
echo "Hallo Welt" > user1/test.txt
echo "Hello World" > user2/test.txt
#Reads "Hallo Welt"
cat user1/test.txt
umount user1
mount -t ecryptfs crypt user1 ${OPTIONS}
#Reads "Hello World"
cat user1/test.txt
--------------------------
--
Ist Ihr Browser Vista-kompatibel? Jetzt die neuesten
Browser-Versionen downloaden: http://www.gmx.net/de/go/browser
--
Psssst! Schon vom neuen GMX MultiMessenger gehört? Der kann`s mit allen:
http://www.gmx.net/de/go/multimessenger
disable_dentry_cache.patch
Description: Binary data
------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________ eCryptfs-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ecryptfs-devel
