overlay: enable the index feature for overlay/hardlink tests

Overlayfs hardlink test are expected to fail if overlayfs does not
support the inodes index feature, so don't un them if kernel does
not support the feature.

If the feature is supported, enable it with the index=on mount option
for the hardlink tests, regardless of the build time default determined
by kernel config option CONFIG_OVERLAY_FS_INDEX.

Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
This commit is contained in:
Amir Goldstein
2017-07-12 12:43:25 +03:00
committed by Eryu Guan
parent 9107e08df7
commit 29e399dae8
4 changed files with 19 additions and 10 deletions
+5 -3
View File
@@ -10,7 +10,7 @@
#
#-----------------------------------------------------------------------
#
# Copyright (C) 2016 CTERA Networks. All Rights Reserved.
# Copyright (C) 2016-2017 CTERA Networks. All Rights Reserved.
# Author: Amir Goldstein <amir73il@gmail.com>
#
# This program is free software; you can redistribute it and/or
@@ -49,6 +49,7 @@ _cleanup()
_supported_fs overlay
_supported_os Linux
_require_scratch
_require_scratch_feature index
rm -f $seqres.full
@@ -81,7 +82,8 @@ function check_ino_nlink()
diff -u $before $after
}
_scratch_mount
# Enable overlay index feature to prevent breaking hardlinks on copy up
_scratch_mount -o index=on
rm -f $tmp.*
@@ -105,7 +107,7 @@ cat $FILES
check_ino_nlink $tmp.before $tmp.after_one
# Verify that the hardlinks survive a mount cycle
_scratch_cycle_mount
_scratch_cycle_mount index=on
echo "== After mount cycle =="
cat $FILES
+3 -1
View File
@@ -53,6 +53,7 @@ rm -f $seqres.full
_supported_fs overlay
_supported_os Linux
_require_scratch
_require_scratch_feature index
# Remove all files from previous tests
_scratch_mkfs
@@ -71,7 +72,8 @@ $XFS_IO_PROG -fc "pwrite 1g 4k" $lowerdir/zero >> $seqres.full
ln $lowerdir/zero $lowerdir/one
ln $lowerdir/zero $lowerdir/two
_scratch_mount
# Enable overlay index feature to prevent breaking hardlinks on copy up
_scratch_mount -o index=on
do_cmd()
{
+5 -3
View File
@@ -50,6 +50,7 @@ rm -f $seqres.full
_supported_fs overlay
_supported_os Linux
_require_scratch
_require_scratch_feature index
report_nlink()
{
@@ -122,7 +123,7 @@ test_hardlinks()
rm $SCRATCH_MNT/2
# Verify that orphan index is cleaned when dropping nlink to zero
ls $OVL_BASE_SCRATCH_MNT/$OVL_WORK/index 2>/dev/null
ls $OVL_BASE_SCRATCH_MNT/$OVL_WORK/index
}
# Remove all files from previous tests
@@ -131,7 +132,8 @@ _scratch_mkfs
# Create lower hardlinks
create_hardlinks
_scratch_mount
# Enable overlay index feature to prevent breaking hardlinks on copy up
_scratch_mount -o index=on
# Test hardlinks with warm dcache
DCACHETEMP=warm
test_hardlinks
@@ -140,7 +142,7 @@ test_hardlinks
_scratch_unmount
_scratch_mkfs
create_hardlinks
_scratch_mount
_scratch_mount -o index=on
# Test hardlinks with cold dcache
DCACHETEMP=cold
+6 -3
View File
@@ -64,6 +64,8 @@ rm -f $seqres.full
_supported_fs overlay
_supported_os Linux
_require_scratch
# Without overlay index feature hardlinks are broken on copy up
_require_scratch_feature index
# Remove all files from previous tests
_scratch_mkfs
@@ -74,7 +76,8 @@ mkdir -p $lowerdir
touch $lowerdir/0
ln $lowerdir/0 $lowerdir/1
_scratch_mount
# Enable overlay index feature to prevent breaking hardlinks on copy up
_scratch_mount -o index=on
# Copy up lower hardlink - overlay inode nlink 2 is copied from lower
touch $SCRATCH_MNT/0
@@ -99,8 +102,8 @@ rm $SCRATCH_MNT/1
rm $SCRATCH_MNT/4
# Verify that orphan index is cleaned on mount
_scratch_cycle_mount
ls $OVL_BASE_SCRATCH_MNT/$OVL_WORK/index 2>/dev/null
_scratch_cycle_mount index=on
ls $OVL_BASE_SCRATCH_MNT/$OVL_WORK/index
echo "Silence is golden"
status=0