overlay/018: re-factor and add to hardlink group
authorAmir Goldstein <amir73il@gmail.com>
Wed, 5 Jul 2017 12:02:00 +0000 (15:02 +0300)
committerEryu Guan <eguan@redhat.com>
Thu, 6 Jul 2017 05:38:45 +0000 (13:38 +0800)
Use helpers to records and check inode numbers so we can repeat
the same test after each hardlink copy up and mount cycle.

Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
tests/overlay/018
tests/overlay/group

index 7e477321199bee0ae94b1fca813e9a945f5a4fda..527b9d175b1788a83b2e0a63bfcbc6384a2748de 100755 (executable)
@@ -61,25 +61,42 @@ echo "patient zero" >> $lowerdir/foo
 ln $lowerdir/foo $lowerdir/bar
 
 
+# Record inode numbers in format <ino> <nlink>
+function record_ino_nlink()
+{
+       ls -li $FILES | awk '{ print $1, $3 }' > $1
+}
+
+# Check inode numbers match recorded inode numbers
+function check_ino_nlink()
+{
+       before=$1
+       after=$2
+
+       record_ino_nlink $after
+
+       # Test constant stat(2) st_ino/st_nlink -
+       #   Compare before..after - expect silence
+       # We use diff -u so out.bad will tell us which stage failed
+       diff -u $before $after
+}
+
 _scratch_mount
 
 
-rm -f $tmp.before $tmp.after
+rm -f $tmp.*
 
 foo=$SCRATCH_MNT/foo
 bar=$SCRATCH_MNT/bar
 
-# Record inode number and nlink before copy up
-ls -li $foo $bar | awk '{ print $1, $3 }' > $tmp.before
+FILES="$foo $bar"
+
+record_ino_nlink $tmp.before
 
 # Modify content of one of the hardlinks
 echo "mutated" >> $foo
 
-# Record inode number and nlink after copy up
-ls -li $foo $bar | awk '{ print $1, $3 }' > $tmp.after
-
-# Compare ino/nlink before..after - expect silence
-diff $tmp.before $tmp.after
+check_ino_nlink $tmp.before $tmp.after
 
 # Compare content of files - expect silence
 diff $foo $bar
index 64d200cf1f0c085675f278bf7aec2e9072462dff..28df5b636f857d3319a1fcae45f155c28427ca5d 100644 (file)
@@ -20,7 +20,7 @@
 015 auto quick whiteout
 016 auto quick copyup
 017 auto quick copyup
-018 auto quick copyup
+018 auto quick copyup hardlink
 019 auto stress
 020 auto quick copyup perms
 021 auto quick copyup