Whamcloud - gitweb
LU-13137 llite: do not flush COW pages from mapping 78/37278/17
authorBobi Jam <bobijam@whamcloud.com>
Tue, 21 Jan 2020 07:35:17 +0000 (15:35 +0800)
committerOleg Drokin <green@whamcloud.com>
Thu, 14 May 2020 05:38:24 +0000 (05:38 +0000)
commit13a0066afb8d89b12653ff72f7311fd5e03ef6b4
treeeac2a16391a22e30861df61df114e72b6d7b6d83
parent84e12028be9a13a5f702ce04adfd55d94d8a96ef
LU-13137 llite: do not flush COW pages from mapping

Do not flush COW pages from an executable mapping, as this will cause
running binaries to segfault when mapped pages disappear under them.

This was modified to allow non-blocking PCC caching, but triggers
immediate segfaults for binaries when the DLM locks are revoked, even
when PCC is not in use.

The added test case failed 100% without this patch.

This patch is only a partial fix to avoid the segfaults.  There still
needs to be something done to re-introduce the PCC functionality, but
should be conditional on PCC enabled, and not for running binaries.

There is a problem for PCC when multiple clients read/write on a
shared mmapped file. We exclude mmap_sanity tst6 in test_4 from
PCC testing temporarily.

Test-Parameters: testlist=sanity envdefinitions=ONLY=30d
Test-Parameters: testlist=sanity envdefinitions=ONLY=30d
Test-Parameters: testlist=sanity envdefinitions=ONLY=30d
Fixes: 58d744e3eaab ("LU-10092 pcc: Non-blocking PCC caching")
Change-Id: I7084e1db1f0f29cb0237b619abd33ca556aa7ec7
Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/37278
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Yingjin Qian <qian@ddn.com>
Reviewed-by: Stephan Thiell <sthiell@stanford.edu>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/llite/llite_mmap.c
lustre/llite/vvp_object.c
lustre/tests/sanity-pcc.sh
lustre/tests/sanity.sh