done
_test_cycle_mount
free_blocks1=$(stat -f $testdir -c '%f')
-lsattr -l $testdir/ | _filter_test_dir | _filter_spaces
echo "funshare part of a file"
$XFS_IO_PROG -f -c "falloc 0 $((sz / 2))" $testdir/file2
_test_cycle_mount
-lsattr -l $testdir/ | _filter_test_dir | _filter_spaces
echo "funshare some of the copies"
$XFS_IO_PROG -f -c "falloc 0 $sz" $testdir/file2
$XFS_IO_PROG -f -c "falloc 0 $sz" $testdir/file3
_test_cycle_mount
free_blocks2=$(stat -f $testdir -c '%f')
-lsattr -l $testdir/ | _filter_test_dir | _filter_spaces
echo "funshare the rest of the files"
$XFS_IO_PROG -f -c "falloc 0 $sz" $testdir/file4
$XFS_IO_PROG -f -c "falloc 0 $sz" $testdir/file1
_test_cycle_mount
free_blocks3=$(stat -f $testdir -c '%f')
-lsattr -l $testdir/ | _filter_test_dir | _filter_spaces
echo "Rewrite the original file"
_pwrite_byte 0x65 0 $sz $testdir/file1 >> $seqres.full
_test_cycle_mount
free_blocks4=$(stat -f $testdir -c '%f')
-lsattr -l $testdir/ | _filter_test_dir | _filter_spaces
#echo $free_blocks0 $free_blocks1 $free_blocks2 $free_blocks3 $free_blocks4
_within_tolerance "free blocks after reflinking" $free_blocks1 $((free_blocks0 - blks)) $margin -v
QA output created by 132
Create the original file blocks
Create the reflink copies
-TEST_DIR/test-132/file1 ---
-TEST_DIR/test-132/file2 ---
-TEST_DIR/test-132/file3 ---
-TEST_DIR/test-132/file4 ---
funshare part of a file
-TEST_DIR/test-132/file1 ---
-TEST_DIR/test-132/file2 ---
-TEST_DIR/test-132/file3 ---
-TEST_DIR/test-132/file4 ---
funshare some of the copies
-TEST_DIR/test-132/file1 ---
-TEST_DIR/test-132/file2 No_COW
-TEST_DIR/test-132/file3 No_COW
-TEST_DIR/test-132/file4 ---
funshare the rest of the files
-TEST_DIR/test-132/file1 No_COW
-TEST_DIR/test-132/file2 No_COW
-TEST_DIR/test-132/file3 No_COW
-TEST_DIR/test-132/file4 No_COW
Rewrite the original file
-TEST_DIR/test-132/file1 No_COW
-TEST_DIR/test-132/file2 No_COW
-TEST_DIR/test-132/file3 No_COW
-TEST_DIR/test-132/file4 No_COW
free blocks after reflinking is in range
free blocks after nocow'ing some copies is in range
free blocks after nocow'ing all copies is in range