From: Tyler Hicks Date: Thu, 13 Sep 2012 01:02:46 +0000 (-0700) Subject: eCryptfs: Write out all dirty pages just before releasing the lower file X-Git-Tag: v3.2.32~24 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2f45faef3bca26259cb419692f70788e5b77f563;p=pandora-kernel.git eCryptfs: Write out all dirty pages just before releasing the lower file commit 7149f2558d5b5b988726662fe58b1c388337805b upstream. Fixes a regression caused by: 821f749 eCryptfs: Revert to a writethrough cache model That patch reverted some code (specifically, 32001d6f) that was necessary to properly handle open() -> mmap() -> close() -> dirty pages -> munmap(), because the lower file could be closed before the dirty pages are written out. Rather than reapplying 32001d6f, this approach is a better way of ensuring that the lower file is still open in order to handle writing out the dirty pages. It is called from ecryptfs_release(), while we have a lock on the lower file pointer, just before the lower file gets the final fput() and we overwrite the pointer. https://launchpad.net/bugs/1047261 Signed-off-by: Tyler Hicks Reported-by: Artemy Tregubenko Tested-by: Artemy Tregubenko Tested-by: Colin Ian King Signed-off-by: Ben Hutchings --- Reading git-diff-tree failed