common/fuzzy: if the fuzz verb is random, keep fuzzing until we get a new value
[xfstests-dev.git] / common / reflink
index 64ee04f66972a238fc619821bfcddcc402391e33..2a7c7b848e2b0c6709ed1b53f1496a4eb95b151a 100644 (file)
@@ -111,7 +111,7 @@ _require_scratch_reflink()
 _require_scratch_explicit_shared_extents()
 {
        _require_scratch
-       _require_fiemap
+       _require_xfs_io_command "fiemap"
        _require_scratch_reflink
        _require_xfs_io_command "reflink"
        local nr_extents
@@ -206,7 +206,7 @@ _cp_reflink() {
        file1="$1"
        file2="$2"
 
-       cp --reflink=always -p "$file1" "$file2"
+       cp --reflink=always -p -f "$file1" "$file2"
 }
 
 # Reflink some file1 into file2
@@ -241,6 +241,12 @@ _dedupe_range() {
        $XFS_IO_PROG $xfs_io_args -f -c "dedupe $file1 $offset1 $offset2 $len" "$file2"
 }
 
+# Unify xfs_io dedupe ioctl error message prefix
+_filter_dedupe_error()
+{
+       sed -e 's/^dedupe:/XFS_IOC_FILE_EXTENT_SAME:/g'
+}
+
 # Create a file of interleaved unwritten and reflinked blocks
 _weave_reflink_unwritten() {
        blksz=$1