SRU for Oneiric and Precise, and 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).
SRU for Oneiric and Precise, and 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 7149f2558d5b5b9 88726662fe58b1c 388337805b and 2cc6230208a8e6c 2cfd19ae18.
64e6651dcc10e9d
== Test Case ==
Can be tested on various file systems using the ecryptfs tests (from
lp:ecryptfs).
sudo mkdir /tmp/image /lower /upper run_tests. sh -K -c safe -b 1000000 -D /tmp/image \ ext4,xfs, btrfs -t mmap-close.sh
sudo ./tests/
-l /lower -u /upper -f ext2,ext3,
Without the fix, this fails, with the fix it passes.