[PATCH 4/5] overlay/017: verify constant inode number after rename

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The test verifies constant inode number after copy up.
Verify that inode number remains constant also after rename
and drop caches (when overlayfs needs to find the lower
inodes in another location).

Signed-off-by: Amir Goldstein <amir73il@xxxxxxxxx>
---
 tests/overlay/017 | 22 ++++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

diff --git a/tests/overlay/017 b/tests/overlay/017
index f3bf454..1cf684d 100755
--- a/tests/overlay/017
+++ b/tests/overlay/017
@@ -8,7 +8,8 @@
 # - modify A to trigger copy up
 # - stat file A shows inode number Y != X
 #
-# Also test if d_ino of readdir entries changes after copy up.
+# Also test if d_ino of readdir entries changes after copy up
+# and if inode numbers persist after rename and drop caches.
 #
 #-----------------------------------------------------------------------
 #
@@ -94,6 +95,8 @@ _scratch_mount
 
 
 rm -f $tmp.*
+testdir=$SCRATCH_MNT/test
+mkdir -p $testdir
 
 # Test stable stat(2) st_ino
 
@@ -106,18 +109,29 @@ for f in $FILES; do
 done
 
 # Record inode numbers after copy up
-record_inode_numbers $SCRATCH_MNT $tmp.after
+record_inode_numbers $SCRATCH_MNT $tmp.after_copyup
+
+for f in $FILES; do
+	# move to another dir
+	mv $SCRATCH_MNT/$f $testdir/
+done
+
+echo 3 > /proc/sys/vm/drop_caches
+
+# Record inode numbers after rename and drop caches
+record_inode_numbers $testdir $tmp.after_move
 
 # Test stable readdir(3)/getdents(2) d_ino
 
 # find by inode number - expect to find file by inode number
 cat $tmp.before | while read ino f; do
-	find $SCRATCH_MNT/ -inum $ino -maxdepth 1 | grep -q $f || \
+	find $testdir/ -inum $ino -maxdepth 1 | grep -q $f || \
 		echo "$f not found by ino $ino"
 done
 
 # Compare before..after - expect silence
-diff $tmp.before $tmp.after
+diff -u $tmp.before $tmp.after_copyup
+diff -u $tmp.after_copyup $tmp.after_move
 
 echo "Silence is golden"
 status=0
-- 
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe linux-unionfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystems Devel]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux