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