]> git.apps.os.sepia.ceph.com Git - xfstests-dev.git/commitdiff
fstests: btrfs: use _btrfs for 'subvolume snapshot' command
authorQu Wenruo <wqu@suse.com>
Fri, 12 Apr 2024 04:41:17 +0000 (14:11 +0930)
committerZorro Lang <zlang@kernel.org>
Sun, 28 Apr 2024 11:08:22 +0000 (19:08 +0800)
[BUG]
All the touched test cases would fail after btrfs-progs commit
5f87b467a9e7 ("btrfs-progs: subvolume: output the prompt line only when
the ioctl succeeded") due to golden output mismatch.

[CAUSE]
Although the patch I sent to the mail list doesn't change the output at
all but only a timing change, David uses this patch to unify the output
of "btrfs subvolume create" and "btrfs subvolume snapshot".

Unfortunately this changes the output and causes mismatch with
golden output.

[FIX]
Just use the recommended way to run simple btrfs command, _btrfs, for
those all "btrfs subvolume snapshot" call sites, and remove the line
from golden output.

The only case not utilizing `_btrfs` is btrfs/300, which utilize
user_do(), which doesn't have the fstests functions.

The "_btrfs()" helper has the following advantages:

- Save the command line arguments and output into $seqres.full
  For easier debugging

- Check the return value of the btrfs command

This would ensure future informative output change would not trigger
such situation any more.

Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: Anand Jain <anand.jain@oracle.com>
44 files changed:
tests/btrfs/001
tests/btrfs/001.out
tests/btrfs/152
tests/btrfs/152.out
tests/btrfs/168
tests/btrfs/168.out
tests/btrfs/169
tests/btrfs/169.out
tests/btrfs/170
tests/btrfs/170.out
tests/btrfs/187
tests/btrfs/187.out
tests/btrfs/188
tests/btrfs/188.out
tests/btrfs/189
tests/btrfs/189.out
tests/btrfs/191
tests/btrfs/191.out
tests/btrfs/200
tests/btrfs/200.out
tests/btrfs/202
tests/btrfs/202.out
tests/btrfs/203
tests/btrfs/203.out
tests/btrfs/226
tests/btrfs/226.out
tests/btrfs/276
tests/btrfs/276.out
tests/btrfs/280
tests/btrfs/280.out
tests/btrfs/281
tests/btrfs/281.out
tests/btrfs/283
tests/btrfs/283.out
tests/btrfs/287
tests/btrfs/287.out
tests/btrfs/293
tests/btrfs/293.out
tests/btrfs/300
tests/btrfs/300.out
tests/btrfs/302
tests/btrfs/302.out
tests/btrfs/314
tests/btrfs/314.out

index 4c9da98c251b4f1baebe39e6766cb9b6e7b229f2..71738e8842830a81f8ee59e7834e8268ca33f647 100755 (executable)
@@ -24,7 +24,7 @@ dd if=/dev/zero of=$SCRATCH_MNT/foo bs=1M count=1 &> /dev/null
 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"
index c782bde96091b34f1d130bb9475fa248c5898fa1..9b493fab3891b82e8505b5e2bb5f2c36c508156b 100644 (file)
@@ -3,7 +3,6 @@ Creating file foo in root 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
index 8094320f3fdc46de1e006a16fd8d2f8e5eff6d28..9ea2128c76c26edf24845c5348ff168c1a082810 100755 (executable)
@@ -29,10 +29,8 @@ mkdir $SCRATCH_MNT/subvol{1,2}/.snapshots
 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
@@ -43,8 +41,8 @@ for i in `seq 1 10`; do
        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 &
@@ -52,8 +50,8 @@ for i in `seq 1 10`; do
                $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 &
index a95bb5797162e1ea1bd77dd833d3aadb95cdee7d..33dd36e840e3ef414ea5f6ce5c7149a52fcaf62b 100644 (file)
@@ -5,8 +5,6 @@ Create subvolume 'SCRATCH_MNT/recv1_1'
 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
index 29a18183d53fee3692bd01ba12db26ed3919c287..7879ec056cebe598f4c819f59c49a8b73836b147 100755 (executable)
@@ -71,8 +71,7 @@ $BTRFS_UTIL_PROG property set $SCRATCH_MNT/sv1 ro false
 
 # 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
@@ -85,8 +84,7 @@ $XFS_IO_PROG -c "pwrite -S 0x19 4K 8K" $SCRATCH_MNT/sv1/baz >>$seqres.full
 
 # 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.
index 6cfce8cd666c4dadb4a8d469c73e9bbb32c7bcd5..f7eca2d7c4212cf172f2ef244deec909fe042dd9 100644 (file)
@@ -1,9 +1,7 @@
 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
index 269c1a586f6975ef498da2b38955a501c0fe51fa..75a8ee8b39f88af2e98056b41ff6f138226d9f2f 100755 (executable)
@@ -41,8 +41,7 @@ $XFS_IO_PROG -f -c "falloc -k 0 4M" \
             -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
 
@@ -51,8 +50,7 @@ $BTRFS_UTIL_PROG send -f $send_files_dir/1.snap $SCRATCH_MNT/snap1 2>&1 \
 # 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
 
index ba77bf0adbe3968de62bce5151b2804f75507fed..a6df713aceede65b1c28578474fae1ea2e274da6 100644 (file)
@@ -1,9 +1,7 @@
 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
index fcbd38b9a284a1698b20be6e138c767bc43fdc13..1beec6d7fd1d07ea7a146b6e61113ceda64b6e22 100755 (executable)
@@ -43,8 +43,7 @@ echo "File digest after write:"
 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
index 4c5fd87a8b174775aebca3521573f5da5bd957db..8ad959f31ba223ced4c35bea945878d7793b9e7b 100644 (file)
@@ -3,6 +3,5 @@ wrote 131072/131072 bytes at offset 0
 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
index 326071b860916860ba61ec7ee5b4b6926ab7839f..a7957e88a976f0ed9f541e03ba8681ebc0e594cf 100755 (executable)
@@ -149,8 +149,7 @@ for ((n = 0; n < 4; n++)); do
 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.
@@ -181,8 +180,7 @@ for ((n = 0; n < 4; n++)); do
 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=$!
index ab522cfe7e8cd1477fa187b61072914ec336da68..8e65c281e8e7720fa26a4fd8e136b5b51aa669d8 100644 (file)
@@ -1,3 +1 @@
 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'
index 2791a133fa73a07fe99250959c37a09afe871405..8d0e455eefa036ace3d8b04f37c81502c63ed361 100755 (executable)
@@ -42,8 +42,7 @@ _scratch_mount
 $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
@@ -51,8 +50,7 @@ $BTRFS_UTIL_PROG send -f $send_files_dir/1.snap $SCRATCH_MNT/base 2>&1 \
 # 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
index 260988e600848ae47f5d899595b5ddf4d72318f8..99eb3133ca0af99a1e602cf45fab6f140b19f373 100644 (file)
@@ -1,9 +1,7 @@
 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
index fb7ebfad360315c008279bf0a334d2a49d40d804..179ff079990ed87c42c6f6a4ebd8ec842c5dc30d 100755 (executable)
@@ -43,8 +43,7 @@ $XFS_IO_PROG -f -c "pwrite -S 0xc7 0 2M" $SCRATCH_MNT/bar | _filter_xfs_io
 $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
@@ -68,8 +67,7 @@ $XFS_IO_PROG -c "reflink $SCRATCH_MNT/bar 1600K 0 128K" $SCRATCH_MNT/zoo \
 # 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
index 79c70b03a1ba560e83db95ad127e0b743a64b55b..b4984d37cfabc73c7e5fb94fca2213a1d2996d37 100644 (file)
@@ -7,13 +7,11 @@ wrote 2097152/2097152 bytes at offset 0
 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
index 60b08137db0aa553ca1c31e21ee355e725e3ce60..8bf591b6eb7d55f11ac1149bf25a30dc544e8476 100755 (executable)
@@ -41,8 +41,7 @@ $XFS_IO_PROG -f -s -c "pwrite -S 0xb8 -b 64K 0 512K" $SCRATCH_MNT/foo \
 $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
@@ -52,8 +51,7 @@ $XFS_IO_PROG -f -c "pwrite -S 0xb8 0 1M" $SCRATCH_MNT/bar | _filter_xfs_io
 
 # 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:
 #
index 4269803cce1e12c0c51e3cdfa3677215524b08b6..471c05da4b03db80aa62c5b9760c317363222ca4 100644 (file)
@@ -3,11 +3,9 @@ wrote 524288/524288 bytes at offset 0
 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
index 20f16bf7913f3632827e9fefe9980d028402031c..cd3e3b83ac53ed062f4cdd69149046f033fd73f2 100755 (executable)
@@ -49,8 +49,7 @@ $XFS_IO_PROG -c "reflink $SCRATCH_MNT/foo 0 64K 64K" $SCRATCH_MNT/foo \
 $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
@@ -61,8 +60,7 @@ $BTRFS_UTIL_PROG send -f $send_files_dir/1.snap $SCRATCH_MNT/base 2>&1 \
 $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
index 3eec567e97feabc5e6b2c510eb4e05051f12fd62..306d9b24a16cd0b795af0298ea5448c8fd562480 100644 (file)
@@ -5,11 +5,9 @@ linked 65536/65536 bytes at offset 65536
 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
index 5f0429f18bf976d71d9abc6e9c91a11178080bdc..d6077853af22eb1fc72a12ae35e8434de73d315f 100755 (executable)
@@ -27,8 +27,7 @@ _scratch_mount
 
 $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
index 7f33d49f889c17dc66584aec62b759ad84791309..28d52e3f27c7580cbee1dd2d02513199524624a6 100644 (file)
@@ -1,4 +1,3 @@
 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'
index 87ed0c66ad1fa9812129d53842a656054a8681a6..45872b85aad075528e6b2b2eb1c891b367f7210d 100755 (executable)
@@ -41,8 +41,7 @@ _scratch_mount
 # 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
@@ -67,8 +66,7 @@ $XFS_IO_PROG -c "pwrite -S 0xab 512K 64K" \
             -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
index 58739a98cd1b0a6180d992cf0866fcd782e47311..67ec1bd7c13d46c8fd9efd5cbb61935ded57def4 100644 (file)
@@ -1,7 +1,6 @@
 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)
@@ -15,7 +14,6 @@ wrote 65536/65536 bytes at offset 786432
 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
index f60947ced41e76fc1e323bb55d203c18163f4272..dd6743d6f1be648d81961abd6859dba69687be16 100755 (executable)
@@ -48,8 +48,7 @@ $XFS_IO_PROG -s -c "pwrite -S 0xab 0 64K" \
             -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.
index c63982b0ba4a23a18ff824f9657108468befd9aa..815217ac5129c7f3a3c6eedeba99a7239f914596 100644 (file)
@@ -13,7 +13,6 @@ wrote 65536/65536 bytes at offset 0
 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
index f15f2082435021ae575a3dbdecb52c1122590b6f..70dadd93fdd2d83405f3132732952d95f61742a1 100755 (executable)
@@ -105,7 +105,7 @@ sync
 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)"
index 352e06b4d4b212770d87aafe1940351c8fe0bddf..e30ca1886adfc34b4859a0075913b45e6f84275a 100644 (file)
@@ -1,6 +1,5 @@
 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)
index fc049adb0b19b34d1a803bd05033f16941d17f27..d4f613cedc2dd49804920d348774d42e09989d0e 100755 (executable)
@@ -37,7 +37,7 @@ _scratch_mount -o compress
 $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:"
index 5371f3b01551ad666be88a4a965e1bb455b8439c..c5ecf6882745bf84957957c76ed2d9f13528633f 100644 (file)
@@ -1,7 +1,6 @@
 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:
 
index ddc7d9e8b06d955b9e43f3d766f4febb634ba8e7..290ccaca623546a0d694c4871c54daf6f1158647 100755 (executable)
@@ -52,8 +52,7 @@ $XFS_IO_PROG -c "reflink $SCRATCH_MNT/bar 0 0 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 --compressed-data -f $send_stream $SCRATCH_MNT/snap 2>&1 \
        | _filter_scratch
 
index 2585e3e567db6c3643379cdcdc56ccdd2cdbddf6..0b775689d8c8b2c96d1686908f60cb2a97943dd4 100644 (file)
@@ -6,7 +6,6 @@ XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 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
index 118df08b8958a093272f0133992f7f90f1c0967f..8fa282ee4145c7fdc88957c9c349059fab0be538 100755 (executable)
@@ -57,8 +57,7 @@ _cp_reflink $SCRATCH_MNT/foo $SCRATCH_MNT/baz
 $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
 
index 286dae332eff581c2e158943bb1a554c55664a6f..7c7d9f730bd4488696e5e71624be650e1b5feffc 100644 (file)
@@ -4,7 +4,6 @@ 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)
 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
index 64e6ef35250c8e3d964a52bcb5c8c828e152a0a3..24d8e66a7a42ae76b8ab74e0c2bfc4c61297b0e9 100755 (executable)
@@ -111,10 +111,8 @@ echo "resolve first extent +3M offset with ignore offset option:"
 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)
index 30eac8fa444c8f2d359ce79e5be037b03c00688a..4814594fc22467ad4f3fb032d78095989a55b2ff 100644 (file)
@@ -41,8 +41,6 @@ resolve first extent +3M offset with ignore offset option:
 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
index 06f96dc414b05b18fcba5e60396425e3989c9756..09139f195d127b2485465f994441118facb21953 100755 (executable)
@@ -32,9 +32,9 @@ swap_file="$SCRATCH_MNT/swapfile"
 _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
index fd04ac9139b849ef8e9ca6472ae75f260eadfd6a..5da7accc95351162f645fec3d3bedb75daf6cdca 100644 (file)
@@ -1,8 +1,6 @@
 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...
index 8a0eaecf87f7cd417c59c073508a31cbe198f288..4ea22a01c8ece1828a29909c882a35227d62a510 100755 (executable)
@@ -43,7 +43,7 @@ $BTRFS_UTIL_PROG subvolume create subvol;
 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"
index 6e94447e87ac5d07d4589984a21086d9916f781f..8611f606aaf7bd86631a029462f3074eef555ec6 100644 (file)
@@ -1,7 +1,6 @@
 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
index f3e6044b52518bdbd7c2052e1baa1e20e18e9731..3b52892d56eec05a5a1ef6bb475bad104c4817d0 100755 (executable)
@@ -45,8 +45,7 @@ $FSSUM_PROG -A -f -w $fssum_file $SCRATCH_MNT/subvol
 
 # 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).
index 8770aefc99c8fee017cb6c1a714e4c00036822eb..e89d12977c62b0a2108828805130c816f6fc0595 100644 (file)
@@ -1,4 +1,3 @@
 QA output created by 302
 Create subvolume 'SCRATCH_MNT/subvol'
-Create a readonly snapshot of 'SCRATCH_MNT/subvol' in 'SCRATCH_MNT/subvol/snap'
 OK
index 887cb69eb79cd71a46d8a57f6803f3dd9698e249..da594d396ca6d945b0808b1ad2cc046fa57aeb91 100755 (executable)
@@ -42,8 +42,7 @@ send_receive_tempfsid()
        _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 | \
index 21963899c2b23f9aa04eb0f1220e93f542302bcc..8a311671b8f9ff549a02898fab4fd57b244ae8f8 100644 (file)
@@ -3,7 +3,6 @@ QA output created by 314
 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
@@ -14,7 +13,6 @@ Recv: 42d69d1a6d333a7ebdf64792a555e392  TEST_DIR/314/tempfsid_mnt/snap1/foo
 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