Comment 12 for bug 1047261

Revision history for this message
Colin Ian King (colin-king) wrote :

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).

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.