[PATCH 0/2][Oneiric][Precise][Quantal][SRU] Fix regression caused by commit 821f749
Colin King
colin.king at canonical.com
Sat Sep 15 19:09:12 UTC 2012
From: Colin Ian King <colin.king at canonical.com>
BugLink: https://launchpad.net/bugs/1047261
SRU for Oneiric and Precise, and please apply to Quantal too.
== SRU Justification ==
== Impact ==
A regression was caused by commit:
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.
This revert unfortunately causes errors:
ecryptfs_encrypt_page: Error attempting to write lower page
== Fix ==
Apply commits 7149f2558d5b5b988726662fe58b1c388337805b and
64e6651dcc10e9d2cc6230208a8e6c2cfd19ae18.
== Test Case ==
Can be tested on various file systems using the ecryptfs tests (from
lp:ecryptfs).
sudo mkdir /tmp/image /lower /upper
sudo ./tests/run_tests.sh -K -c safe -b 1000000 -D /tmp/image \
-l /lower -u /upper -f ext2,ext3,ext4,xfs,btrfs -t mmap-close.sh
Without the fix, this fails, with the fix it passes.
Tyler Hicks (2):
eCryptfs: Write out all dirty pages just before releasing the lower
file
eCryptfs: Call lower ->flush() from ecryptfs_flush()
fs/ecryptfs/file.c | 10 ++++++++--
fs/ecryptfs/main.c | 1 +
2 files changed, 9 insertions(+), 2 deletions(-)
--
1.7.10.4
More information about the kernel-team
mailing list