diff options
author | Emmanuel Dreyfus <manu@netbsd.org> | 2015-04-29 15:52:37 +0200 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2015-05-07 04:37:56 -0700 |
commit | aa938247e19afa419476fb2d0b7cb2d054c6dd47 (patch) | |
tree | 5fdf28179cb907f4e29b7246799fef61b0f1c16d /tests/basic | |
parent | f93bf09cdb417cf5e09206164a16ad9435285b45 (diff) |
Tests: use a portable way to flush kernel cache
On Linux, kernel cache can be flushed using
echo 3 > /proc/sys/vm/drop_caches
This non-portable approach can be replaced by an on-purpose
failed attempt to unmount: if the mount point is the current
directory and umount is called, the kernel will flush inodes
until it realize it cannot complete the operation because
root of filesystem is busy:
( cd $M0 ; umount $M0 )
Unfortunately this does not flush everything. Entries may
still be present in the kenrel FUSE cache. Using $GFS to
mount the filesystem ensure --entry-timeout=0 and clears
this problem.
Some stall information may also remain in glusterfs caches,
and that may have to be adressed by appropriate volume option.
For instance tests/bugs/rpc/bug-954057.t needs to disable
performance.stat-prefetch. Qtherwise, root's new credentials
are not evaluated after root-quash is enabled. The test could
also be done with performance.stat-prefetch enabled using
various tricks: copying the file to read, creating a hard link
on it, or just waiting long enough for metadata cache to expire.
BUG: 1129939
Change-Id: I54929e899d55c04dcd9d947809133549f01fd0e1
Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org>
Reviewed-on: http://review.gluster.org/10411
Reviewed-by: Dan Lambright <dlambrig@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'tests/basic')
-rwxr-xr-x | tests/basic/tier/tier.t | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tests/basic/tier/tier.t b/tests/basic/tier/tier.t index afe1e8cf053..ce2c7c36c1b 100755 --- a/tests/basic/tier/tier.t +++ b/tests/basic/tier/tier.t @@ -110,7 +110,7 @@ sleep 12 uuidgen >> d1/data2.txt # Check promotion on read to slow tier -echo 3 > /proc/sys/vm/drop_caches +( cd $M0 ; umount $M0 ) # fail but drops kernel cache cat d1/data3.txt sleep 5 EXPECT_WITHIN $PROMOTE_TIMEOUT "0" file_on_fast_tier d1/data2.txt |