overlay/07[01]: use existing char/block devices
[xfstests-dev.git] / tests / overlay / 070
index 3256e63bdb51d962972e11737f2f72a7b0b60275..dfa2eb286f1dae523cb4095e56b8e60173b406e8 100755 (executable)
@@ -32,6 +32,7 @@ _cleanup()
        rm -f $tmp.*
        # Unmount the nested overlay mount
        $UMOUNT_PROG $mnt2 2>/dev/null
+       [ -z "$loopdev" ] || _destroy_loop_device $loopdev
 }
 
 # get standard environment, filters and checks
@@ -48,6 +49,7 @@ _require_command "$FLOCK_PROG" "flock"
 # We need to require all features together, because nfs_export cannot
 # be enabled when index is disabled
 _require_scratch_overlay_features index nfs_export redirect_dir
+_require_loop
 
 lower=$OVL_BASE_SCRATCH_MNT/$OVL_LOWER
 upper=$OVL_BASE_SCRATCH_MNT/$OVL_UPPER
@@ -69,6 +71,10 @@ create_dirs()
 
        # Create the nested overlay upper dirs
        mkdir -p $upper2 $work2 $mnt2
+
+       # Create a loop device for blkdev tests
+       $XFS_IO_PROG -f -c "truncate 128k" $lower/img >> $seqres.full 2>&1
+       loopdev=`_create_loop_device $lower/img`
 }
 
 # Mount a nested overlay with $SCRATCH_MNT as lower layer
@@ -116,8 +122,8 @@ create_test_files()
        ln -s $dir/file $dir/symlink
        touch $dir/link
        ln $dir/link $dir/link2
-       mknod $dir/chrdev c 1 1
-       mknod $dir/blkdev b 1 1
+       cp -a /dev/zero $dir/chrdev
+       cp -a $loopdev $dir/blkdev
        mknod $dir/fifo p
        $here/src/af_unix $dir/socket
 }