generic/37[3-4]: use bind mount instead of 2nd _scratch_mount
authorAmir Goldstein <amir73il@gmail.com>
Sun, 13 Nov 2016 13:49:37 +0000 (15:49 +0200)
committerEryu Guan <eguan@redhat.com>
Mon, 14 Nov 2016 02:35:45 +0000 (10:35 +0800)
generic/373 and generic/374 test that cross-mountpoint reflink/dedupe
fail with EXDEV.

For this test, _scratch_mount is called a 2nd time with same mount
arguments, but a different value of SCRATCH_MNT.

This practice is incorrect for overlayfs, which should not be using
the same upper/work dirs on two different overlay super blocks.

Change the test to use bind mount instead, which results in the
expected setup for both block device mount and overlay mount.

Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
tests/generic/373
tests/generic/374

index cf585baf3b228366badca43c64dc4f9966656439..339ed7066cbb5f1d307373da3a842ff801eaa2ca 100755 (executable)
@@ -64,7 +64,7 @@ blksz=65536
 sz=$((blksz * blocks))
 
 echo "Mount otherdir"
-SCRATCH_MNT=$otherdir _scratch_mount
+$MOUNT_PROG --bind $SCRATCH_MNT $otherdir
 
 echo "Create file"
 _pwrite_byte 0x61 0 $sz $testdir/file >> $seqres.full
@@ -82,7 +82,7 @@ md5sum $testdir/file | _filter_scratch
 test -e $othertestdir/otherfile && echo "otherfile should not exist"
 
 echo "Unmount otherdir"
-SCRATCH_MNT=$otherdir _scratch_unmount
+$UMOUNT_PROG $otherdir
 rm -rf $otherdir
 
 # success, all done
index 0173c1328ba2d64f8699498260e3bdf6064b8009..eabaf2e1ca2fb1743c133e58276f66696b42e71e 100755 (executable)
@@ -63,7 +63,7 @@ blksz=65536
 sz=$((blocks * blksz))
 
 echo "Mount otherdir"
-SCRATCH_MNT=$otherdir _scratch_mount
+$MOUNT_PROG --bind $SCRATCH_MNT $otherdir
 
 echo "Create file"
 _pwrite_byte 0x61 0 $sz $testdir/file >> $seqres.full
@@ -80,7 +80,7 @@ echo "Check output"
 md5sum $testdir/file $othertestdir/otherfile | filter_md5
 
 echo "Unmount otherdir"
-SCRATCH_MNT=$otherdir _scratch_unmount
+$UMOUNT_PROG $otherdir
 rm -rf $otherdir
 
 # success, all done