echo "List root dir"
 ls $SCRATCH_MNT
 echo "Creating snapshot of root dir"
-$BTRFS_UTIL_PROG subvolume snapshot $SCRATCH_MNT $SCRATCH_MNT/snap | _filter_scratch
+_btrfs subvolume snapshot $SCRATCH_MNT $SCRATCH_MNT/snap
 echo "List root dir after snapshot"
 ls $SCRATCH_MNT
 echo "List snapshot dir"
 
 List root dir
 foo
 Creating snapshot of root dir
-Create a snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/snap'
 List root dir after snapshot
 foo
 snap
 
 touch $SCRATCH_MNT/subvol{1,2}/foo
 
 # Create base snapshots and send them
-$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT/subvol1 \
-       $SCRATCH_MNT/subvol1/.snapshots/1 | _filter_scratch
-$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT/subvol2 \
-       $SCRATCH_MNT/subvol2/.snapshots/1 | _filter_scratch
+_btrfs subvolume snapshot -r $SCRATCH_MNT/subvol1 $SCRATCH_MNT/subvol1/.snapshots/1
+_btrfs subvolume snapshot -r $SCRATCH_MNT/subvol2 $SCRATCH_MNT/subvol2/.snapshots/1
 for recv in recv1_1 recv1_2 recv2_1 recv2_2; do
        $BTRFS_UTIL_PROG send $SCRATCH_MNT/subvol1/.snapshots/1 2> /dev/null | \
                $BTRFS_UTIL_PROG receive $SCRATCH_MNT/${recv} | _filter_scratch
        prev=$i
        curr=$((i+1))
 
-       $BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT/subvol1 \
-               $SCRATCH_MNT/subvol1/.snapshots/${curr} > /dev/null
+       _btrfs subvolume snapshot -r $SCRATCH_MNT/subvol1 \
+               $SCRATCH_MNT/subvol1/.snapshots/${curr}
        ($BTRFS_UTIL_PROG send -p $SCRATCH_MNT/subvol1/.snapshots/${prev} \
                $SCRATCH_MNT/subvol1/.snapshots/${curr} 2> /dev/null | \
                $BTRFS_UTIL_PROG receive $SCRATCH_MNT/recv1_1) > /dev/null &
                $SCRATCH_MNT/subvol1/.snapshots/${curr} 2> /dev/null | \
                $BTRFS_UTIL_PROG receive $SCRATCH_MNT/recv1_2) > /dev/null &
 
-       $BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT/subvol2 \
-               $SCRATCH_MNT/subvol2/.snapshots/${curr} > /dev/null
+       _btrfs subvolume snapshot -r $SCRATCH_MNT/subvol2 \
+               $SCRATCH_MNT/subvol2/.snapshots/${curr}
        ($BTRFS_UTIL_PROG send -p $SCRATCH_MNT/subvol2/.snapshots/${prev} \
                $SCRATCH_MNT/subvol2/.snapshots/${curr} 2> /dev/null | \
                $BTRFS_UTIL_PROG receive $SCRATCH_MNT/recv2_1) > /dev/null &
 
 Create subvolume 'SCRATCH_MNT/recv1_2'
 Create subvolume 'SCRATCH_MNT/recv2_1'
 Create subvolume 'SCRATCH_MNT/recv2_2'
-Create a readonly snapshot of 'SCRATCH_MNT/subvol1' in 'SCRATCH_MNT/subvol1/.snapshots/1'
-Create a readonly snapshot of 'SCRATCH_MNT/subvol2' in 'SCRATCH_MNT/subvol2/.snapshots/1'
 At subvol 1
 At subvol 1
 At subvol 1
 
 
 # Create a snapshot of the subvolume, to be used later as the parent snapshot
 # for an incremental send operation.
-$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT/sv1 $SCRATCH_MNT/snap1 \
-       | _filter_scratch
+_btrfs subvolume snapshot -r $SCRATCH_MNT/sv1 $SCRATCH_MNT/snap1
 
 # First do a full send of this snapshot.
 $FSSUM_PROG -A -f -w $send_files_dir/snap1.fssum $SCRATCH_MNT/snap1
 
 # Create a second snapshot of the subvolume, to be used later as the send
 # snapshot of an incremental send operation.
-$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT/sv1 $SCRATCH_MNT/snap2 \
-       | _filter_scratch
+_btrfs subvolume snapshot -r $SCRATCH_MNT/sv1 $SCRATCH_MNT/snap2
 
 # Temporarily turn the second snapshot to read-write mode and then open a file
 # descriptor on its foo file.
 
 QA output created by 168
 Create subvolume 'SCRATCH_MNT/sv1'
 At subvol SCRATCH_MNT/sv1
-Create a readonly snapshot of 'SCRATCH_MNT/sv1' in 'SCRATCH_MNT/snap1'
 At subvol SCRATCH_MNT/snap1
-Create a readonly snapshot of 'SCRATCH_MNT/sv1' in 'SCRATCH_MNT/snap2'
 At subvol SCRATCH_MNT/snap2
 At subvol sv1
 OK
 
             -c "pwrite -S 0xea 0 1M" \
             $SCRATCH_MNT/foobar | _filter_xfs_io
 
-$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap1 2>&1 \
-       | _filter_scratch
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap1
 $BTRFS_UTIL_PROG send -f $send_files_dir/1.snap $SCRATCH_MNT/snap1 2>&1 \
     | _filter_scratch
 
 # extent we allocated earlier (3Mb < 4Mb).
 $XFS_IO_PROG -c "fpunch 1M 2M" $SCRATCH_MNT/foobar
 
-$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap2 2>&1 \
-       | _filter_scratch
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap2
 $BTRFS_UTIL_PROG send -p $SCRATCH_MNT/snap1 -f $send_files_dir/2.snap \
                 $SCRATCH_MNT/snap2 2>&1 | _filter_scratch
 
 
 QA output created by 169
 wrote 1048576/1048576 bytes at offset 0
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-Create a readonly snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/snap1'
 At subvol SCRATCH_MNT/snap1
-Create a readonly snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/snap2'
 At subvol SCRATCH_MNT/snap2
 File digest in the original filesystem:
 d31659e82e87798acd4669a1e0a19d4f  SCRATCH_MNT/snap2/foobar
 
 md5sum $SCRATCH_MNT/foobar | _filter_scratch
 
 # Create a snapshot of the subvolume where our file is.
-$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap 2>&1 \
-       | _filter_scratch
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap
 
 # Cleanly unmount the filesystem.
 _scratch_unmount
 
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 File digest after write:
 85054e9e74bc3ae186d693890106b71f  SCRATCH_MNT/foobar
-Create a readonly snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/snap'
 File digest after mounting the filesystem again:
 85054e9e74bc3ae186d693890106b71f  SCRATCH_MNT/foobar
 
 done
 wait ${create_pids[@]}
 
-$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap1 \
-       | _filter_scratch
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap1
 
 # Add some more files, so that that are substantial differences between the
 # two test snapshots used for an incremental send later.
 done
 wait ${setxattr_pids[@]}
 
-$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap2 \
-       | _filter_scratch
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap2
 
 full_send_loop 5 &
 full_send_pid=$!
 
 QA output created by 187
-Create a readonly snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/snap1'
-Create a readonly snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/snap2'
 
 $XFS_IO_PROG -f -c "pwrite -S 0xab 0 500K" $SCRATCH_MNT/foobar | _filter_xfs_io
 $XFS_IO_PROG -c "falloc -k 1200K 800K" $SCRATCH_MNT/foobar
 
-$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/base 2>&1 \
-       | _filter_scratch
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/base
 
 $BTRFS_UTIL_PROG send -f $send_files_dir/1.snap $SCRATCH_MNT/base 2>&1 \
        | _filter_scratch
 # Now punch a hole that drops all the extents within the file's size.
 $XFS_IO_PROG -c "fpunch 0 500K" $SCRATCH_MNT/foobar
 
-$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/incr 2>&1 \
-       | _filter_scratch
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/incr
 
 $BTRFS_UTIL_PROG send -p $SCRATCH_MNT/base -f $send_files_dir/2.snap \
        $SCRATCH_MNT/incr 2>&1 | _filter_scratch
 
 QA output created by 188
 wrote 512000/512000 bytes at offset 0
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-Create a readonly snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/base'
 At subvol SCRATCH_MNT/base
-Create a readonly snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/incr'
 At subvol SCRATCH_MNT/incr
 File digest in the original filesystem:
 816df6f64deba63b029ca19d880ee10a  SCRATCH_MNT/incr/foobar
 
 $XFS_IO_PROG -f -c "pwrite -S 0x4d 0 2M" $SCRATCH_MNT/baz | _filter_xfs_io
 $XFS_IO_PROG -f -c "pwrite -S 0xe2 0 2M" $SCRATCH_MNT/zoo | _filter_xfs_io
 
-$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/base 2>&1 \
-       | _filter_scratch
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/base
 
 $BTRFS_UTIL_PROG send -f $send_files_dir/1.snap $SCRATCH_MNT/base 2>&1 \
        | _filter_scratch
 # operations.
 $XFS_IO_PROG -c "truncate 710K" $SCRATCH_MNT/bar
 
-$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/incr 2>&1 \
-       | _filter_scratch
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/incr
 
 $BTRFS_UTIL_PROG send -p $SCRATCH_MNT/base -f $send_files_dir/2.snap \
        $SCRATCH_MNT/incr 2>&1 | _filter_scratch
 
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 wrote 2097152/2097152 bytes at offset 0
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-Create a readonly snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/base'
 At subvol SCRATCH_MNT/base
 linked 131072/131072 bytes at offset 655360
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 linked 131072/131072 bytes at offset 0
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-Create a readonly snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/incr'
 At subvol SCRATCH_MNT/incr
 At subvol base
 At snapshot incr
 
 $XFS_IO_PROG -c "pwrite -S 0xb8 512K 512K" $SCRATCH_MNT/foo | _filter_xfs_io
 
 # Create the base snapshot and the parent send stream from it.
-$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1 \
-       | _filter_scratch
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
 
 $BTRFS_UTIL_PROG send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1 2>&1 \
        | _filter_scratch
 
 # Create the second snapshot, used for the incremental send, before doing the
 # file deduplication.
-$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2 \
-       | _filter_scratch
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
 
 # Now before creating the incremental send stream:
 #
 
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 wrote 524288/524288 bytes at offset 524288
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-Create a readonly snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/mysnap1'
 At subvol SCRATCH_MNT/mysnap1
 wrote 1048576/1048576 bytes at offset 0
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-Create a readonly snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/mysnap2'
 deduped 524288/524288 bytes at offset 0
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 deduped 524288/524288 bytes at offset 524288
 
 $XFS_IO_PROG -f -c "pwrite -S 0xc7 -b 64K 0 64K" $SCRATCH_MNT/bar \
        | _filter_xfs_io
 
-$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/base 2>&1 \
-       | _filter_scratch
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/base
 
 $BTRFS_UTIL_PROG send -f $send_files_dir/1.snap $SCRATCH_MNT/base 2>&1 \
        | _filter_scratch
 $XFS_IO_PROG -c "reflink $SCRATCH_MNT/bar 0 64K 64K" $SCRATCH_MNT/bar \
        | _filter_xfs_io
 
-$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/incr 2>&1 \
-       | _filter_scratch
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/incr
 
 $BTRFS_UTIL_PROG send -p $SCRATCH_MNT/base -f $send_files_dir/2.snap \
        $SCRATCH_MNT/incr 2>&1 | _filter_scratch
 
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 wrote 65536/65536 bytes at offset 0
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-Create a readonly snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/base'
 At subvol SCRATCH_MNT/base
 linked 65536/65536 bytes at offset 65536
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-Create a readonly snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/incr'
 At subvol SCRATCH_MNT/incr
 At subvol base
 At snapshot incr
 
 
 $BTRFS_UTIL_PROG subvolume create $SCRATCH_MNT/a | _filter_scratch
 $BTRFS_UTIL_PROG subvolume create $SCRATCH_MNT/a/b | _filter_scratch
-$BTRFS_UTIL_PROG subvolume snapshot $SCRATCH_MNT/a $SCRATCH_MNT/c \
-       | _filter_scratch
+_btrfs subvolume snapshot $SCRATCH_MNT/a $SCRATCH_MNT/c
 
 # Need the dummy entry created so that we get the invalid removal when we rmdir
 ls $SCRATCH_MNT/c/b
 
 QA output created by 202
 Create subvolume 'SCRATCH_MNT/a'
 Create subvolume 'SCRATCH_MNT/a/b'
-Create a snapshot of 'SCRATCH_MNT/a' in 'SCRATCH_MNT/c'
 
 # file in the parent snapshot.
 $XFS_IO_PROG -f -c "pwrite -S 0xf1 0 64K" $SCRATCH_MNT/foobar | _filter_xfs_io
 
-$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/base 2>&1 \
-       | _filter_scratch
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/base
 
 $BTRFS_UTIL_PROG send -f $send_files_dir/1.snap $SCRATCH_MNT/base 2>&1 \
        | _filter_scratch
             -c "reflink $SCRATCH_MNT/foobar 448K 192K 192K" \
             $SCRATCH_MNT/foobar | _filter_xfs_io
 
-$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/incr 2>&1 \
-       | _filter_scratch
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/incr 2>&1
 
 $BTRFS_UTIL_PROG send -p $SCRATCH_MNT/base -f $send_files_dir/2.snap \
                 $SCRATCH_MNT/incr 2>&1 | _filter_scratch
 
 QA output created by 203
 wrote 65536/65536 bytes at offset 0
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-Create a readonly snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/base'
 At subvol SCRATCH_MNT/base
 wrote 65536/65536 bytes at offset 524288
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 linked 196608/196608 bytes at offset 196608
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-Create a readonly snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/incr'
 At subvol SCRATCH_MNT/incr
 File foobar digest in the original filesystem:
 2b76b23b62fdbbbcae1ee37eec84fd7d
 
             -c "pwrite -S 0xcd 64K 64K" \
             $SCRATCH_MNT/f2 | _filter_xfs_io
 
-$BTRFS_UTIL_PROG subvolume snapshot $SCRATCH_MNT $SCRATCH_MNT/snap \
-    | _filter_scratch
+_btrfs subvolume snapshot $SCRATCH_MNT $SCRATCH_MNT/snap
 
 # Write into the range of the first extent so that that range no longer has a
 # shared extent.
 
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 wrote 65536/65536 bytes at offset 65536
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-Create a snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/snap'
 wrote 65536/65536 bytes at offset 0
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 pwrite: Resource temporarily unavailable
 
 echo "Number of non-shared extents in the whole file: $(count_not_shared_extents)"
 
 # Creating a snapshot.
-$BTRFS_UTIL_PROG subvolume snapshot $SCRATCH_MNT $SCRATCH_MNT/snap | _filter_scratch
+_btrfs subvolume snapshot $SCRATCH_MNT $SCRATCH_MNT/snap
 
 # We have a snapshot, so now all extents should be reported as shared.
 echo "Number of shared extents in the whole file: $(count_shared_extents)"
 
 QA output created by 276
 Number of non-shared extents in the whole file: 2000
-Create a snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/snap'
 Number of shared extents in the whole file: 2000
 wrote 65536/65536 bytes at offset 524288
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 
 $XFS_IO_PROG -f -c "pwrite -b 1M 0 128M" $SCRATCH_MNT/foo | _filter_xfs_io
 
 # Create a RW snapshot of the default subvolume.
-$BTRFS_UTIL_PROG subvolume snapshot $SCRATCH_MNT $SCRATCH_MNT/snap | _filter_scratch
+_btrfs subvolume snapshot $SCRATCH_MNT $SCRATCH_MNT/snap
 
 echo
 echo "File foo fiemap before COWing extent:"
 
 QA output created by 280
 wrote 134217728/134217728 bytes at offset 0
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-Create a snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/snap'
 
 File foo fiemap before COWing extent:
 
 
        | _filter_xfs_io
 
 echo "Creating snapshot and a send stream for it..."
-$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap \
-       | _filter_scratch
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap
 $BTRFS_UTIL_PROG send --compressed-data -f $send_stream $SCRATCH_MNT/snap 2>&1 \
        | _filter_scratch
 
 
 linked 65536/65536 bytes at offset 0
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 Creating snapshot and a send stream for it...
-Create a readonly snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/snap'
 At subvol SCRATCH_MNT/snap
 Creating a new filesystem to receive the send stream...
 At subvol snap
 
 $XFS_IO_PROG -c "pwrite -S 0xcd -b 64K 64K 64K" $SCRATCH_MNT/foo | _filter_xfs_io
 
 echo "Creating snapshot and a send stream for it..."
-$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap \
-       | _filter_scratch
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap
 
 $BTRFS_UTIL_PROG send -f $send_stream $SCRATCH_MNT/snap 2>&1 | _filter_scratch
 
 
 wrote 65536/65536 bytes at offset 65536
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 Creating snapshot and a send stream for it...
-Create a readonly snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/snap'
 At subvol SCRATCH_MNT/snap
 Creating a new filesystem to receive the send stream...
 At subvol snap
 
 query_logical_ino -o $bytenr
 
 # Now create two snapshots and then do some queries.
-$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap1 \
-       | _filter_scratch
-$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap2 \
-       | _filter_scratch
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap2
 
 snap1_id=$(_btrfs_get_subvolid $SCRATCH_MNT snap1)
 snap2_id=$(_btrfs_get_subvolid $SCRATCH_MNT snap2)
 
 inode 257 offset 16777216 root 5
 inode 257 offset 8388608 root 5
 inode 257 offset 2097152 root 5
-Create a readonly snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/snap1'
-Create a readonly snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/snap2'
 resolve first extent:
 inode 257 offset 16777216 snap2
 inode 257 offset 8388608 snap2
 
 _format_swapfile $swap_file $(($(_get_page_size) * 64)) >> $seqres.full
 
 echo "Creating first snapshot..."
-$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap1 | _filter_scratch
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap1
 echo "Creating second snapshot..."
-$BTRFS_UTIL_PROG subvolume snapshot $SCRATCH_MNT $SCRATCH_MNT/snap2 | _filter_scratch
+_btrfs subvolume snapshot $SCRATCH_MNT $SCRATCH_MNT/snap2
 
 echo "Activating swap file... (should fail due to snapshots)"
 _swapon_file $swap_file 2>&1 | _filter_scratch
 
 QA output created by 293
 Creating first snapshot...
-Create a readonly snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/snap1'
 Creating second snapshot...
-Create a snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/snap2'
 Activating swap file... (should fail due to snapshots)
 swapon: SCRATCH_MNT/swapfile: swapon failed: Invalid argument
 Deleting first snapshot...
 
 touch subvol/{1,2,3};
 $BTRFS_UTIL_PROG subvolume create subvol/subsubvol;
 touch subvol/subsubvol/{4,5,6};
-$BTRFS_UTIL_PROG subvolume snapshot subvol snapshot;
+$BTRFS_UTIL_PROG subvolume snapshot subvol snapshot > /dev/null;
 "
 
 find $test_dir/. -printf "%M %u %g ./%P\n"
 
 QA output created by 300
 Create subvolume './subvol'
 Create subvolume 'subvol/subsubvol'
-Create a snapshot of 'subvol' in './snapshot'
 drwxr-xr-x fsgqa fsgqa ./
 drwxr-xr-x fsgqa fsgqa ./subvol
 -rw-r--r-- fsgqa fsgqa ./subvol/1
 
 
 # Now create a snapshot of the subvolume and make it accessible from within the
 # subvolume.
-$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT/subvol \
-                $SCRATCH_MNT/subvol/snap | _filter_scratch
+_btrfs subvolume snapshot -r $SCRATCH_MNT/subvol $SCRATCH_MNT/subvol/snap
 
 # Now unmount and mount again the fs. We want to verify we are able to read all
 # metadata for the snapshot from disk (no IO failures, etc).
 
 QA output created by 302
 Create subvolume 'SCRATCH_MNT/subvol'
-Create a readonly snapshot of 'SCRATCH_MNT/subvol' in 'SCRATCH_MNT/subvol/snap'
 OK
 
        _mount ${SCRATCH_DEV_NAME[1]} ${tempfsid_mnt}
 
        $XFS_IO_PROG -fc 'pwrite -S 0x61 0 9000' ${src}/foo | _filter_xfs_io
-       $BTRFS_UTIL_PROG subvolume snapshot -r ${src} ${src}/snap1 | \
-                                               _filter_testdir_and_scratch
+       _btrfs subvolume snapshot -r ${src} ${src}/snap1
 
        echo Send ${src} | _filter_testdir_and_scratch
        $BTRFS_UTIL_PROG send -f ${sendfile} ${src}/snap1 2>&1 | \
 
 From non-tempfsid SCRATCH_MNT to tempfsid TEST_DIR/314/tempfsid_mnt
 wrote 9000/9000 bytes at offset 0
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-Create a readonly snapshot of 'SCRATCH_MNT' in 'SCRATCH_MNT/snap1'
 Send SCRATCH_MNT
 At subvol SCRATCH_MNT/snap1
 Receive TEST_DIR/314/tempfsid_mnt
 From tempfsid TEST_DIR/314/tempfsid_mnt to non-tempfsid SCRATCH_MNT
 wrote 9000/9000 bytes at offset 0
 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-Create a readonly snapshot of 'TEST_DIR/314/tempfsid_mnt' in 'TEST_DIR/314/tempfsid_mnt/snap1'
 Send TEST_DIR/314/tempfsid_mnt
 At subvol TEST_DIR/314/tempfsid_mnt/snap1
 Receive SCRATCH_MNT