. common/module
+# The recommended way to execute simple "btrfs" command.
+_btrfs()
+{
+ run_check $BTRFS_UTIL_PROG $*
+}
+
_btrfs_get_subvolid()
{
local mnt=$1
fi
}
-_run_btrfs_util_prog()
-{
- run_check $BTRFS_UTIL_PROG $*
-}
-
_require_btrfs_mkfs_feature()
{
if [ -z $1 ]; then
local dev=$(findmnt -n -o SOURCE $mnt)
_check_regular_qgroup $dev || return 1
- _run_btrfs_util_prog quota rescan -w $mnt
+ _btrfs quota rescan -w $mnt
}
_require_qgroup_rescan()
{
_scratch_mkfs >>$seqres.full 2>&1
_scratch_mount
- _run_btrfs_util_prog quota enable $SCRATCH_MNT
+ _btrfs quota enable $SCRATCH_MNT
# Wait for the first rescan.
$BTRFS_UTIL_PROG quota rescan -W $SCRATCH_MNT || \
_notrun "not able to wait on a quota rescan"
run_check $FSSTRESS_PROG -d $SCRATCH_MNT -w -p $procs -n 2000 \
$FSSTRESS_AVOID
- _run_btrfs_util_prog subvolume snapshot $SCRATCH_MNT \
+ _btrfs subvolume snapshot $SCRATCH_MNT \
$SCRATCH_MNT/$snap_name
run_check _scratch_unmount >/dev/null 2>&1
run_check $FSSTRESS_PROG -d $SCRATCH_MNT -n $ops $FSSTRESS_AVOID -x \
"$BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/base"
- _run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/incr
+ _btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/incr
echo "# $BTRFS_UTIL_PROG send $SCRATCH_MNT/base > ${send_files_dir}/base.snap" \
>> $seqres.full
|| _fail "size=$fsz mkfs failed"
_scratch_mount "-o noatime"
- _run_btrfs_util_prog receive $SCRATCH_MNT < $send_files_dir/base.snap
+ _btrfs receive $SCRATCH_MNT < $send_files_dir/base.snap
run_check $FSSUM_PROG -r $send_files_dir/base.fssum $SCRATCH_MNT/base
- _run_btrfs_util_prog receive $SCRATCH_MNT < $send_files_dir/incr.snap
+ _btrfs receive $SCRATCH_MNT < $send_files_dir/incr.snap
run_check $FSSUM_PROG -r $send_files_dir/incr.fssum $SCRATCH_MNT/incr
}
_require_fs_space $SCRATCH_MNT $((2 * 512 * 1024)) #2.5G
fill_scratch $fssize $with_cancel
- _run_btrfs_util_prog filesystem show -m $SCRATCH_MNT
+ _btrfs filesystem show -m $SCRATCH_MNT
echo -e "Replace from $source_dev to $SPARE_DEV\\n" >> $seqres.full
btrfs_replace_test $source_dev $SPARE_DEV "" $with_cancel $quick
- _run_btrfs_util_prog filesystem show -m $SCRATCH_MNT
+ _btrfs filesystem show -m $SCRATCH_MNT
# Skip -r test for configs without mirror OR replace cancel
if echo $mkfs_options | grep -E -qv "raid1|raid5|raid6|raid10" || \
if [ "${with_cancel}Q" = "cancelQ" ]; then
# background the replace operation (no '-B' option given)
- _run_btrfs_util_prog replace start -f $replace_options $source_dev $target_dev $SCRATCH_MNT
+ _btrfs replace start -f $replace_options $source_dev $target_dev $SCRATCH_MNT
sleep $wait_time
$BTRFS_UTIL_PROG replace cancel $SCRATCH_MNT 2>&1 >> $seqres.full
# replace operation.
(sleep $wait_time; sync) > /dev/null 2>&1 &
fi
- _run_btrfs_util_prog replace start -Bf $replace_options $source_dev $target_dev $SCRATCH_MNT
+ _btrfs replace start -Bf $replace_options $source_dev $target_dev $SCRATCH_MNT
$BTRFS_UTIL_PROG replace status $SCRATCH_MNT > $tmp.tmp 2>&1
cat $tmp.tmp >> $seqres.full
# exit values != 0, including detected correctable and uncorrectable
# errors on the device.
sync; sync
- _run_btrfs_util_prog scrub start -B $SCRATCH_MNT
+ _btrfs scrub start -B $SCRATCH_MNT
# Two tests are performed, the 1st is to btrfsck the filesystem,
# and the 2nd test is to mount the filesystem.
$XFS_IO_PROG -f -d -c "pwrite 0 $EXTENT_SIZE" $SCRATCH_MNT/foo \
| _filter_xfs_io_blocks_modified
-_run_btrfs_util_prog subvolume snapshot $SCRATCH_MNT $SCRATCH_MNT/snap
+_btrfs subvolume snapshot $SCRATCH_MNT $SCRATCH_MNT/snap
$CLONER_PROG -s 0 -d 0 -l $EXTENT_SIZE $SCRATCH_MNT/foo $SCRATCH_MNT/foo-reflink
$CLONER_PROG -s 0 -d 0 -l $EXTENT_SIZE $SCRATCH_MNT/foo \
$SCRATCH_MNT/snap/foo-reflink2
-_run_btrfs_util_prog quota enable $SCRATCH_MNT
-_run_btrfs_util_prog quota rescan -w $SCRATCH_MNT
+_btrfs quota enable $SCRATCH_MNT
+_btrfs quota rescan -w $SCRATCH_MNT
rm -fr $SCRATCH_MNT/foo*
rm -fr $SCRATCH_MNT/snap/foo*
_limit_test_exceed()
{
echo "=== limit exceed test ===" >> $seqres.full
- _run_btrfs_util_prog subvolume create $SCRATCH_MNT/a
- _run_btrfs_util_prog quota enable $SCRATCH_MNT
+ _btrfs subvolume create $SCRATCH_MNT/a
+ _btrfs quota enable $SCRATCH_MNT
subvolid=$(_btrfs_get_subvolid $SCRATCH_MNT a)
- _run_btrfs_util_prog qgroup limit 5M 0/$subvolid $SCRATCH_MNT
+ _btrfs qgroup limit 5M 0/$subvolid $SCRATCH_MNT
_ddt of=$SCRATCH_MNT/a/file bs=10M count=1 >> $seqres.full 2>&1
[ $? -ne 0 ] || _fail "quota should have limited us"
}
_scratch_mount
run_check $XFS_IO_PROG -f -c "truncate 819200" $SCRATCH_MNT/foo
-_run_btrfs_util_prog filesystem sync $SCRATCH_MNT
+_btrfs filesystem sync $SCRATCH_MNT
run_check $XFS_IO_PROG -c "falloc -k 819200 667648" $SCRATCH_MNT/foo
-_run_btrfs_util_prog filesystem sync $SCRATCH_MNT
+_btrfs filesystem sync $SCRATCH_MNT
run_check $XFS_IO_PROG -c "pwrite 1482752 2978" $SCRATCH_MNT/foo
-_run_btrfs_util_prog filesystem sync $SCRATCH_MNT
+_btrfs filesystem sync $SCRATCH_MNT
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT \
+_btrfs subvolume snapshot -r $SCRATCH_MNT \
$SCRATCH_MNT/mysnap1
run_check $XFS_IO_PROG -c "truncate 883305" $SCRATCH_MNT/foo
-_run_btrfs_util_prog filesystem sync $SCRATCH_MNT
+_btrfs filesystem sync $SCRATCH_MNT
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT \
+_btrfs subvolume snapshot -r $SCRATCH_MNT \
$SCRATCH_MNT/mysnap2
-_run_btrfs_util_prog send -f $tmp/1.snap $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog send -p $SCRATCH_MNT/mysnap1 -f $tmp/2.snap \
+_btrfs send -f $tmp/1.snap $SCRATCH_MNT/mysnap1
+_btrfs send -p $SCRATCH_MNT/mysnap1 -f $tmp/2.snap \
$SCRATCH_MNT/mysnap2 2>&1
md5sum $SCRATCH_MNT/foo | _filter_scratch
_scratch_mkfs >/dev/null 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $tmp/1.snap $SCRATCH_MNT
+_btrfs receive -f $tmp/1.snap $SCRATCH_MNT
md5sum $SCRATCH_MNT/mysnap1/foo | _filter_scratch
-_run_btrfs_util_prog receive -f $tmp/2.snap $SCRATCH_MNT
+_btrfs receive -f $tmp/2.snap $SCRATCH_MNT
md5sum $SCRATCH_MNT/mysnap2/foo | _filter_scratch
_scratch_unmount
_scratch_mkfs >/dev/null
_scratch_mount
-_run_btrfs_util_prog quota enable $SCRATCH_MNT
+_btrfs quota enable $SCRATCH_MNT
_qgroup_rescan $SCRATCH_MNT
# Increase the probability of generating de-refer extent, and decrease
# |-- bar4 (ino 275)
# |--hello.txt (ino 276)
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
echo " world" >> $SCRATCH_MNT/a/b/c/file.txt
mv $SCRATCH_MNT/a/b/c/d $SCRATCH_MNT/a/b/c2/d2
# |-- bar2/ (ino 273)
# |-- k11/ (ino 272)
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
run_check $FSSUM_PROG -A -f -w $tmp/1.fssum $SCRATCH_MNT/mysnap1
run_check $FSSUM_PROG -A -f -w $tmp/2.fssum -x $SCRATCH_MNT/mysnap2/mysnap1 \
$SCRATCH_MNT/mysnap2
-_run_btrfs_util_prog send -f $tmp/1.snap $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog send -f $tmp/2.snap -p $SCRATCH_MNT/mysnap1 \
+_btrfs send -f $tmp/1.snap $SCRATCH_MNT/mysnap1
+_btrfs send -f $tmp/2.snap -p $SCRATCH_MNT/mysnap1 \
$SCRATCH_MNT/mysnap2
_scratch_unmount
_scratch_mkfs >/dev/null 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $tmp/1.snap $SCRATCH_MNT
+_btrfs receive -f $tmp/1.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $tmp/1.fssum $SCRATCH_MNT/mysnap1 2>> $seqres.full
-_run_btrfs_util_prog receive -f $tmp/2.snap $SCRATCH_MNT
+_btrfs receive -f $tmp/2.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $tmp/2.fssum $SCRATCH_MNT/mysnap2 2>> $seqres.full
_scratch_unmount
$SCRATCH_MNT/foo | _filter_xfs_io
done
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
$XFS_IO_PROG -c "truncate 3882008" $SCRATCH_MNT/foo
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
-_run_btrfs_util_prog send -f $tmp/1.snap $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog send -f $tmp/2.snap -p $SCRATCH_MNT/mysnap1 \
+_btrfs send -f $tmp/1.snap $SCRATCH_MNT/mysnap1
+_btrfs send -f $tmp/2.snap -p $SCRATCH_MNT/mysnap1 \
$SCRATCH_MNT/mysnap2
md5sum $SCRATCH_MNT/foo | _filter_scratch
_scratch_mkfs >/dev/null 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $tmp/1.snap $SCRATCH_MNT
+_btrfs receive -f $tmp/1.snap $SCRATCH_MNT
md5sum $SCRATCH_MNT/mysnap1/foo | _filter_scratch
-_run_btrfs_util_prog receive -f $tmp/2.snap $SCRATCH_MNT
+_btrfs receive -f $tmp/2.snap $SCRATCH_MNT
md5sum $SCRATCH_MNT/mysnap2/foo | _filter_scratch
_scratch_unmount
$XFS_IO_PROG -c "pwrite -S 0x0d -b 39987 92267 39987" \
$SCRATCH_MNT/foo | _filter_xfs_io
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT \
+_btrfs subvolume snapshot -r $SCRATCH_MNT \
$SCRATCH_MNT/mysnap1
$XFS_IO_PROG -c "pwrite -S 0x3e -b 80000 200000 80000" \
# Sync to avoid btrfs merging file extent items, which would make the test
# succeed when it should fail.
-_run_btrfs_util_prog filesystem sync $SCRATCH_MNT
+_btrfs filesystem sync $SCRATCH_MNT
$XFS_IO_PROG -c "pwrite -S 0xdc -b 10000 250000 10000" \
$SCRATCH_MNT/foo | _filter_xfs_io
$SCRATCH_MNT/foo | _filter_xfs_io
# will be used for incremental send to be able to issue clone operations
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT \
+_btrfs subvolume snapshot -r $SCRATCH_MNT \
$SCRATCH_MNT/clones_snap
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT \
+_btrfs subvolume snapshot -r $SCRATCH_MNT \
$SCRATCH_MNT/mysnap2
run_check $FSSUM_PROG -A -f -w $tmp/1.fssum $SCRATCH_MNT/mysnap1
run_check $FSSUM_PROG -A -f -w $tmp/clones.fssum $SCRATCH_MNT/clones_snap \
-x $SCRATCH_MNT/clones_snap/mysnap1 -x $SCRATCH_MNT/clones_snap/mysnap2
-_run_btrfs_util_prog send -f $tmp/1.snap $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog send -f $tmp/clones.snap $SCRATCH_MNT/clones_snap
-_run_btrfs_util_prog send -p $SCRATCH_MNT/mysnap1 \
+_btrfs send -f $tmp/1.snap $SCRATCH_MNT/mysnap1
+_btrfs send -f $tmp/clones.snap $SCRATCH_MNT/clones_snap
+_btrfs send -p $SCRATCH_MNT/mysnap1 \
-c $SCRATCH_MNT/clones_snap -f $tmp/2.snap $SCRATCH_MNT/mysnap2
_scratch_unmount
_scratch_mkfs >/dev/null 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $tmp/1.snap $SCRATCH_MNT
+_btrfs receive -f $tmp/1.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $tmp/1.fssum $SCRATCH_MNT/mysnap1 2>> $seqres.full
-_run_btrfs_util_prog receive -f $tmp/clones.snap $SCRATCH_MNT
+_btrfs receive -f $tmp/clones.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $tmp/clones.fssum $SCRATCH_MNT/clones_snap 2>> $seqres.full
-_run_btrfs_util_prog receive -f $tmp/2.snap $SCRATCH_MNT
+_btrfs receive -f $tmp/2.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $tmp/2.fssum $SCRATCH_MNT/mysnap2 2>> $seqres.full
_scratch_unmount
# |-- g (ino 263)
# |-- e (ino 261)
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
mv $SCRATCH_MNT/a/b/c $SCRATCH_MNT/a/b/x
mv $SCRATCH_MNT/a/b/x/d $SCRATCH_MNT/a/b/x/y
# |-- g (ino 263)
# |-- z (ino 261)
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
run_check $FSSUM_PROG -A -f -w $tmp/1.fssum $SCRATCH_MNT/mysnap1
run_check $FSSUM_PROG -A -f -w $tmp/2.fssum -x $SCRATCH_MNT/mysnap2/mysnap1 \
$SCRATCH_MNT/mysnap2
-_run_btrfs_util_prog send -f $tmp/1.snap $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog send -p $SCRATCH_MNT/mysnap1 -f $tmp/2.snap \
+_btrfs send -f $tmp/1.snap $SCRATCH_MNT/mysnap1
+_btrfs send -p $SCRATCH_MNT/mysnap1 -f $tmp/2.snap \
$SCRATCH_MNT/mysnap2
_scratch_unmount
_scratch_mkfs >/dev/null 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $tmp/1.snap $SCRATCH_MNT
+_btrfs receive -f $tmp/1.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $tmp/1.fssum $SCRATCH_MNT/mysnap1 2>> $seqres.full
-_run_btrfs_util_prog receive -f $tmp/2.snap $SCRATCH_MNT
+_btrfs receive -f $tmp/2.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $tmp/2.fssum $SCRATCH_MNT/mysnap2 2>> $seqres.full
_scratch_unmount
# |
# |-- baz.txt (ino 261)
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
rm -f $SCRATCH_MNT/a/b/c/foo.txt
rm -f $SCRATCH_MNT/a/b/c/bar.txt
# |-- b/ (ino 258)
# |-- baz.txt (ino 261)
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
run_check $FSSUM_PROG -A -f -w $tmp/1.fssum $SCRATCH_MNT/mysnap1
run_check $FSSUM_PROG -A -f -w $tmp/2.fssum -x $SCRATCH_MNT/mysnap2/mysnap1 \
$SCRATCH_MNT/mysnap2
-_run_btrfs_util_prog send -f $tmp/1.snap $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog send -p $SCRATCH_MNT/mysnap1 -f $tmp/2.snap \
+_btrfs send -f $tmp/1.snap $SCRATCH_MNT/mysnap1
+_btrfs send -p $SCRATCH_MNT/mysnap1 -f $tmp/2.snap \
$SCRATCH_MNT/mysnap2
_scratch_unmount
_scratch_mkfs >/dev/null 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $tmp/1.snap $SCRATCH_MNT
+_btrfs receive -f $tmp/1.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $tmp/1.fssum $SCRATCH_MNT/mysnap1 2>> $seqres.full
-_run_btrfs_util_prog receive -f $tmp/2.snap $SCRATCH_MNT
+_btrfs receive -f $tmp/2.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $tmp/2.fssum $SCRATCH_MNT/mysnap2 2>> $seqres.full
_scratch_unmount
# read compressed file extents that have a non-zero data offset field,
# resulting either in decompression failure or reading a wrong section
# of the extent.
- _run_btrfs_util_prog restore $SCRATCH_DEV $restore_dir
+ _btrfs restore $SCRATCH_DEV $restore_dir
md5sum $restore_dir/foo | cut -d ' ' -f 1
}
LIMIT_SIZE=$((10 * 1024 * 1024))
-_run_btrfs_util_prog quota enable $SCRATCH_MNT
-_run_btrfs_util_prog qgroup create 1/1 $SCRATCH_MNT
-_run_btrfs_util_prog qgroup limit $LIMIT_SIZE 1/1 $SCRATCH_MNT
+_btrfs quota enable $SCRATCH_MNT
+_btrfs qgroup create 1/1 $SCRATCH_MNT
+_btrfs qgroup limit $LIMIT_SIZE 1/1 $SCRATCH_MNT
for i in `seq 10 -1 1`; do
#add newly created subvolume qgroup to it's parent qgroup
- _run_btrfs_util_prog subvolume create -i 1/1 \
+ _btrfs subvolume create -i 1/1 \
$SCRATCH_MNT/subv_$i
done
done
wait
-_run_btrfs_util_prog filesystem sync $SCRATCH_MNT \
+_btrfs filesystem sync $SCRATCH_MNT \
>>$seqres.full 2>&1
total_written=0
# |
# |-- d4/ (ino 270)
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
rm -f $SCRATCH_MNT/a/b/c/foo.txt
mv $SCRATCH_MNT/a/b/y $SCRATCH_MNT/a/b/YY
# |-- d2/ (ino 268)
# |-- d3/ (ino 269)
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
run_check $FSSUM_PROG -A -f -w $tmp/1.fssum $SCRATCH_MNT/mysnap1
run_check $FSSUM_PROG -A -f -w $tmp/2.fssum -x $SCRATCH_MNT/mysnap2/mysnap1 \
$SCRATCH_MNT/mysnap2
-_run_btrfs_util_prog send -f $tmp/1.snap $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog send -p $SCRATCH_MNT/mysnap1 -f $tmp/2.snap \
+_btrfs send -f $tmp/1.snap $SCRATCH_MNT/mysnap1
+_btrfs send -p $SCRATCH_MNT/mysnap1 -f $tmp/2.snap \
$SCRATCH_MNT/mysnap2
_check_scratch_fs
_scratch_mkfs >/dev/null 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $tmp/1.snap $SCRATCH_MNT
+_btrfs receive -f $tmp/1.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $tmp/1.fssum $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog receive -f $tmp/2.snap $SCRATCH_MNT
+_btrfs receive -f $tmp/2.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $tmp/2.fssum $SCRATCH_MNT/mysnap2
status=0
# |
# |-- f/ (ino 263)
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
echo 'mundo' >> $SCRATCH_MNT/a/b/c/d/e/file.txt
mv $SCRATCH_MNT/a/b/c/d/e/file.txt $SCRATCH_MNT/a/b/c/d/e/file2.txt
# |-- e2 (ino 261)
# |-- file2.txt (ino 263)
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
run_check $FSSUM_PROG -A -f -w $tmp/1.fssum $SCRATCH_MNT/mysnap1
run_check $FSSUM_PROG -A -f -w $tmp/2.fssum -x $SCRATCH_MNT/mysnap2/mysnap1 \
$SCRATCH_MNT/mysnap2
-_run_btrfs_util_prog send -f $tmp/1.snap $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog send -p $SCRATCH_MNT/mysnap1 -f $tmp/2.snap \
+_btrfs send -f $tmp/1.snap $SCRATCH_MNT/mysnap1
+_btrfs send -p $SCRATCH_MNT/mysnap1 -f $tmp/2.snap \
$SCRATCH_MNT/mysnap2
_check_scratch_fs
_scratch_mkfs >/dev/null 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $tmp/1.snap $SCRATCH_MNT
+_btrfs receive -f $tmp/1.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $tmp/1.fssum $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog receive -f $tmp/2.snap $SCRATCH_MNT
+_btrfs receive -f $tmp/2.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $tmp/2.fssum $SCRATCH_MNT/mysnap2
status=0
# |-- %c/ (ino 305)
# |-- %e/ (ino 307)
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
# case 1), mentioned above
ln $SCRATCH_MNT/a/c/b2/file4 $SCRATCH_MNT/a/c/b2/f/file6
# |-- %c2/ (ino 305)
# |-- foo (ino 316)
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
run_check $FSSUM_PROG -A -f -w $tmp/1.fssum $SCRATCH_MNT/mysnap1
run_check $FSSUM_PROG -A -f -w $tmp/2.fssum -x $SCRATCH_MNT/mysnap2/mysnap1 \
$SCRATCH_MNT/mysnap2
-_run_btrfs_util_prog send -f $tmp/1.snap $SCRATCH_MNT/mysnap1
+_btrfs send -f $tmp/1.snap $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog send -p $SCRATCH_MNT/mysnap1 -f $tmp/2.snap \
+_btrfs send -p $SCRATCH_MNT/mysnap1 -f $tmp/2.snap \
$SCRATCH_MNT/mysnap2
_check_scratch_fs
_scratch_mkfs >/dev/null 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $tmp/1.snap $SCRATCH_MNT
+_btrfs receive -f $tmp/1.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $tmp/1.fssum $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog receive -f $tmp/2.snap $SCRATCH_MNT
+_btrfs receive -f $tmp/2.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $tmp/2.fssum $SCRATCH_MNT/mysnap2
status=0
$XFS_IO_PROG -f -c "falloc -k 0 268435456" $SCRATCH_MNT/foo
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap0
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap0
$XFS_IO_PROG -c "pwrite -S 0x01 -b 9216 16190218 9216" $SCRATCH_MNT/foo \
| _filter_xfs_io
$XFS_IO_PROG -c "pwrite -S 0xb0 -b 1121 165901483 1121" $SCRATCH_MNT/foo \
| _filter_xfs_io
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
$XFS_IO_PROG -c "pwrite -S 0xff -b 10 16190218 10" $SCRATCH_MNT/foo \
| _filter_xfs_io
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
echo "File digests in the original filesystem:"
md5sum $SCRATCH_MNT/foo | _filter_scratch
md5sum $SCRATCH_MNT/mysnap1/foo | _filter_scratch
md5sum $SCRATCH_MNT/mysnap2/foo | _filter_scratch
-_run_btrfs_util_prog send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
+_btrfs send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
+_btrfs send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
$SCRATCH_MNT/mysnap2
_check_scratch_fs
_scratch_mkfs >/dev/null 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $send_files_dir/1.snap $SCRATCH_MNT
-_run_btrfs_util_prog receive -f $send_files_dir/2.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/1.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/2.snap $SCRATCH_MNT
echo "File digests in the replica filesystem:"
md5sum $SCRATCH_MNT/mysnap1/foo | _filter_scratch
echo "***"
echo -e "\nTesting subvolume ro property"
-_run_btrfs_util_prog subvolume create $SCRATCH_MNT/sv1
+_btrfs subvolume create $SCRATCH_MNT/sv1
$BTRFS_UTIL_PROG property get $SCRATCH_MNT/sv1 ro
echo "***"
$BTRFS_UTIL_PROG property set $SCRATCH_MNT/sv1 ro foo 2>&1 |
$BTRFS_UTIL_PROG property get $SCRATCH_MNT/testdir/subdir1/foobar compression
echo "***"
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
touch $SCRATCH_MNT/testdir/subdir1/foobar2
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
-_run_btrfs_util_prog send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
+_btrfs send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
+_btrfs send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
$SCRATCH_MNT/mysnap2
_scratch_unmount
_scratch_mkfs >/dev/null 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $send_files_dir/1.snap $SCRATCH_MNT
-_run_btrfs_util_prog receive -f $send_files_dir/2.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/1.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/2.snap $SCRATCH_MNT
$BTRFS_UTIL_PROG property get $SCRATCH_MNT/mysnap2/testdir/subdir1 compression
$BTRFS_UTIL_PROG property get $SCRATCH_MNT/mysnap2/testdir/subdir1/foobar \
compression
$BTRFS_UTIL_PROG property get $SCRATCH_MNT/dir1/subdir1/foo compression
echo -e "\nTesting subvolume property inheritance"
-_run_btrfs_util_prog subvolume create $SCRATCH_MNT/sv1
+_btrfs subvolume create $SCRATCH_MNT/sv1
$BTRFS_UTIL_PROG property get $SCRATCH_MNT/sv1 compression
touch $SCRATCH_MNT/sv1/file2
$BTRFS_UTIL_PROG property get $SCRATCH_MNT/sv1/file2 compression
rm -f $TEST_PATH/foobar_link_`printf "%04d" $i`
done
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
run_check $FSSUM_PROG -A -f -w $send_files_dir/1.fssum $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
+_btrfs send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
_scratch_unmount
_check_scratch_fs
_scratch_mkfs >/dev/null 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $send_files_dir/1.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/1.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $send_files_dir/1.fssum $SCRATCH_MNT/mysnap1
status=0
mkdir -p $TEST_PATH
echo "hello world" > $TEST_PATH/amaiAdvancedStreamingPlugin.txt
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
run_check $FSSUM_PROG -A -f -w $send_files_dir/1.fssum $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
+_btrfs send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
_scratch_unmount
_check_scratch_fs
_scratch_mkfs >/dev/null 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $send_files_dir/1.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/1.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $send_files_dir/1.fssum $SCRATCH_MNT/mysnap1
status=0
# Check that after defragmenting the file and re-mounting, the file
# content remains exactly the same as before.
- _run_btrfs_util_prog filesystem defragment $SCRATCH_MNT/foo
+ _btrfs filesystem defragment $SCRATCH_MNT/foo
_scratch_cycle_mount
od -t x1 $SCRATCH_MNT/foo | _filter_od
$SETFATTR_PROG -n user.xattr_name_1 -v `$PERL_PROG -e 'print "A" x 6000;'` \
$SCRATCH_MNT/foobar
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
run_check $FSSUM_PROG -A -f -w $send_files_dir/1.fssum $SCRATCH_MNT/mysnap1
# Update existing xattr value and add a new xattr too.
$SETFATTR_PROG -n user.xattr_name_2 -v `$PERL_PROG -e 'print "U" x 5555;'` \
$SCRATCH_MNT/foobar
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
run_check $FSSUM_PROG -A -f -w $send_files_dir/2.fssum \
-x $SCRATCH_MNT/mysnap2/mysnap1 $SCRATCH_MNT/mysnap2
-_run_btrfs_util_prog send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
+_btrfs send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
+_btrfs send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
$SCRATCH_MNT/mysnap2
_scratch_unmount
_scratch_mkfs "--nodesize $leaf_size" >> $seqres.full 2>&1 || _fail "mkfs failed"
_scratch_mount
-_run_btrfs_util_prog receive -f $send_files_dir/1.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/1.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $send_files_dir/1.fssum $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog receive -f $send_files_dir/2.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/2.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $send_files_dir/2.fssum $SCRATCH_MNT/mysnap2
status=0
_scratch_mount
mkdir $SCRATCH_MNT/testdir
-_run_btrfs_util_prog subvolume create $SCRATCH_MNT/first_subvol
+_btrfs subvolume create $SCRATCH_MNT/first_subvol
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
# Replace the directory testdir with a subvolume that has the same name.
rmdir $SCRATCH_MNT/testdir
-_run_btrfs_util_prog subvolume create $SCRATCH_MNT/testdir
+_btrfs subvolume create $SCRATCH_MNT/testdir
# Delete the subvolume first_subvol and create a directory with the same name.
-_run_btrfs_util_prog subvolume delete $SCRATCH_MNT/first_subvol
+_btrfs subvolume delete $SCRATCH_MNT/first_subvol
mkdir $SCRATCH_MNT/first_subvol
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
-_run_btrfs_util_prog send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
+_btrfs send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
+_btrfs send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
$SCRATCH_MNT/mysnap2
_scratch_unmount
_scratch_mkfs >/dev/null 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $send_files_dir/1.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/1.snap $SCRATCH_MNT
[ -e $SCRATCH_MNT/first_subvol ] && \
echo "Subvolume first_subvol was not supposed to be replicated by full send!"
-_run_btrfs_util_prog receive -f $send_files_dir/2.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/2.snap $SCRATCH_MNT
[ -e $SCRATCH_MNT/testdir ] && \
echo "Directory testdir was supposed to be deleted after incremental send!"
run_check $FSSTRESS_PROG -d $SCRATCH_MNT -w -p 5 -n 1000 \
$FSSTRESS_AVOID >&/dev/null
-_run_btrfs_util_prog subvolume snapshot $SCRATCH_MNT \
+_btrfs subvolume snapshot $SCRATCH_MNT \
$SCRATCH_MNT/snap1
run_check $FSSTRESS_PROG -d $SCRATCH_MNT/snap1 -w -p 5 -n 1000 \
$FSSTRESS_AVOID >&/dev/null
-_run_btrfs_util_prog quota enable $SCRATCH_MNT
-_run_btrfs_util_prog quota rescan -w $SCRATCH_MNT
+_btrfs quota enable $SCRATCH_MNT
+_btrfs quota rescan -w $SCRATCH_MNT
echo "Silence is golden"
# btrfs check will detect any qgroup number mismatch.
# With the tmpfile open, create a RO snapshot and use it for a send operation.
# The send operation used to fail with -ESTALE due to the presence of the
# orphan inode.
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap
-_run_btrfs_util_prog send -f /dev/null $SCRATCH_MNT/mysnap
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap
+_btrfs send -f /dev/null $SCRATCH_MNT/mysnap
status=0
exit
# |---- Z/ (ino 265)
# |---- Z2/ (ino 266)
#
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
mkdir $SCRATCH_MNT/OSD
mv $SCRATCH_MNT/merlin/RC/OSD $SCRATCH_MNT/OSD/OSD-Plane_788
# |---- Sourcez/ (ino 264)
#
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
run_check $FSSUM_PROG -A -f -w $send_files_dir/1.fssum $SCRATCH_MNT/mysnap1
run_check $FSSUM_PROG -A -f -w $send_files_dir/2.fssum \
-x $SCRATCH_MNT/mysnap2/mysnap1 $SCRATCH_MNT/mysnap2
-_run_btrfs_util_prog send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
+_btrfs send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
+_btrfs send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
$SCRATCH_MNT/mysnap2
_check_scratch_fs
_scratch_mkfs >>$seqres.full 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $send_files_dir/1.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/1.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $send_files_dir/1.fssum $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog receive -f $send_files_dir/2.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/2.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $send_files_dir/2.fssum $SCRATCH_MNT/mysnap2
echo "Silence is golden"
{
local ts=`date +'%H_%M_%S_%N'`
- _run_btrfs_util_prog subvolume snapshot -r \
+ _btrfs subvolume snapshot -r \
$SCRATCH_MNT $SCRATCH_MNT/"${ts}_snap"
}
# |
# |---- f/ (ino 264)
#
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
# Now make inode 257 a child of inode 259 and rename inode 258 to the name that
# inode 257 had before. When the incremental send processes inode 257, it can't
# | |----- e2/ (ino 262)
# |---- file2 (ino 263)
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
run_check $FSSUM_PROG -A -f -w $send_files_dir/1.fssum $SCRATCH_MNT/mysnap1
run_check $FSSUM_PROG -A -f -w $send_files_dir/2.fssum \
-x $SCRATCH_MNT/mysnap2/mysnap1 $SCRATCH_MNT/mysnap2
-_run_btrfs_util_prog send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
+_btrfs send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
+_btrfs send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
$SCRATCH_MNT/mysnap2
# Now recreate the filesystem by receiving both send streams and verify we get
_scratch_mkfs >>$seqres.full 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $send_files_dir/1.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/1.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $send_files_dir/1.fssum $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog receive -f $send_files_dir/2.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/2.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $send_files_dir/2.fssum $SCRATCH_MNT/mysnap2
echo "Silence is golden"
# |---- p1/ (ino 263)
# |---- p2/ (ino 264)
#
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
# Now move directories around such that for the subtrees with the path "p1/p2"
# we end up swapping the parents, that is, inode 263 becomes the parent of
# |---- p1/ (ino 260)
# |---- p2/ (ino 264)
#
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
run_check $FSSUM_PROG -A -f -w $send_files_dir/1.fssum $SCRATCH_MNT/mysnap1
run_check $FSSUM_PROG -A -f -w $send_files_dir/2.fssum \
-x $SCRATCH_MNT/mysnap2/mysnap1 $SCRATCH_MNT/mysnap2
-_run_btrfs_util_prog send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
+_btrfs send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
+_btrfs send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
$SCRATCH_MNT/mysnap2
# Now recreate the filesystem by receiving both send streams and verify we get
_scratch_mkfs >>$seqres.full 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $send_files_dir/1.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/1.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $send_files_dir/1.fssum $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog receive -f $send_files_dir/2.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/2.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $send_files_dir/2.fssum $SCRATCH_MNT/mysnap2
echo "Silence is golden"
new_subvolume()
{
- _run_btrfs_util_prog subvolume create $SCRATCH_MNT/testdir
+ _btrfs subvolume create $SCRATCH_MNT/testdir
}
new_default()
{
new_subvolume
SUB=$($BTRFS_UTIL_PROG subvolume list $SCRATCH_MNT | $AWK_PROG '{print $2}')
- _run_btrfs_util_prog subvolume set-default $SUB $SCRATCH_MNT
+ _btrfs subvolume set-default $SUB $SCRATCH_MNT
_unmount_flakey
_mount_flakey
# |
# |--- t7/ (ino 264)
#
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
# The following sequence of directory renames resulted in an infinite path build
# loop when attempting to build the path for inode 266. This is because the
# |
# |--- t7/ (ino 264)
#
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
run_check $FSSUM_PROG -A -f -w $send_files_dir/1.fssum $SCRATCH_MNT/mysnap1
run_check $FSSUM_PROG -A -f -w $send_files_dir/2.fssum \
-x $SCRATCH_MNT/mysnap2/mysnap1 $SCRATCH_MNT/mysnap2
-_run_btrfs_util_prog send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
+_btrfs send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
+_btrfs send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
$SCRATCH_MNT/mysnap2
# Now recreate the filesystem by receiving both send streams and verify we get
_scratch_mkfs >>$seqres.full 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $send_files_dir/1.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/1.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $send_files_dir/1.fssum $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog receive -f $send_files_dir/2.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/2.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $send_files_dir/2.fssum $SCRATCH_MNT/mysnap2
echo "Silence is golden"
_scratch_pool_mkfs >> $seqres.full 2>&1 || _fail "mkfs failed"
-_run_btrfs_util_prog filesystem show $FIRST_POOL_DEV | \
+_btrfs filesystem show $FIRST_POOL_DEV | \
_filter_btrfs_filesystem_show $TOTAL_DEVS
# success, all done
# also disable all compression, or output will mismatch with golden output
_try_scratch_mount "-o compress=no,compress-force=no" 2> /dev/null
-_run_btrfs_util_prog subvolume create $SCRATCH_MNT/subv1
-_run_btrfs_util_prog subvolume create $SCRATCH_MNT/subv2
-_run_btrfs_util_prog subvolume create $SCRATCH_MNT/subv3
+_btrfs subvolume create $SCRATCH_MNT/subv1
+_btrfs subvolume create $SCRATCH_MNT/subv2
+_btrfs subvolume create $SCRATCH_MNT/subv3
-_run_btrfs_util_prog quota enable $SCRATCH_MNT
+_btrfs quota enable $SCRATCH_MNT
_qgroup_rescan $SCRATCH_MNT
$XFS_IO_PROG -f -c "pwrite 0 256K" $SCRATCH_MNT/subv1/file1 | _filter_xfs_io
# |-- t7/ (ino 262)
# |-- t3/ (ino 267)
#
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
# The sequence of directory rename operations below made the btrfs incremental
# send implementation enter an infinite loop when building path strings. The
# |
# |-- t7/ (ino 262)
#
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
run_check $FSSUM_PROG -A -f -w $send_files_dir/1.fssum $SCRATCH_MNT/mysnap1
run_check $FSSUM_PROG -A -f -w $send_files_dir/2.fssum \
-x $SCRATCH_MNT/mysnap2/mysnap1 $SCRATCH_MNT/mysnap2
-_run_btrfs_util_prog send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
+_btrfs send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
+_btrfs send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
$SCRATCH_MNT/mysnap2
# Now recreate the filesystem by receiving both send streams and verify we get
_scratch_mkfs >>$seqres.full 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $send_files_dir/1.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/1.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $send_files_dir/1.fssum $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog receive -f $send_files_dir/2.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/2.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $send_files_dir/2.fssum $SCRATCH_MNT/mysnap2
echo "Silence is golden"
$XFS_IO_PROG -c "pwrite -S 0xcc $((45 * $BLOCK_SIZE)) $((3 * $BLOCK_SIZE))" \
-c "fsync" $SCRATCH_MNT/foo | _filter_xfs_io_blocks_modified
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
# Now clone that same region of the 32 block extent into a new file, so that it
# gets referenced twice and the incremental send operation below decides to
$CLONER_PROG -s $((44 * $BLOCK_SIZE)) -d $((44 * $BLOCK_SIZE)) -l $BLOCK_SIZE \
$SCRATCH_MNT/foo $SCRATCH_MNT/bar
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
-_run_btrfs_util_prog send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
+_btrfs send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
+_btrfs send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
$SCRATCH_MNT/mysnap2
echo "File contents in the original filesystem:"
_scratch_mkfs >>$seqres.full 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $send_files_dir/1.snap $SCRATCH_MNT
-_run_btrfs_util_prog receive -f $send_files_dir/2.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/1.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/2.snap $SCRATCH_MNT
echo "File contents in the new filesystem:"
echo "mysnap1/foo"
$XFS_IO_PROG -f -c "pwrite -S 0xaa $((32 * $BLOCK_SIZE)) $((16 * $BLOCK_SIZE))" \
$SCRATCH_MNT/foo | _filter_xfs_io_blocks_modified
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
# Now clone parts of the original extent into lower offsets of the file.
#
$CLONER_PROG -s $(((32 + 12) * $BLOCK_SIZE)) -d $((4 * $BLOCK_SIZE)) \
-l $((4 * $BLOCK_SIZE)) $SCRATCH_MNT/foo $SCRATCH_MNT/foo
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
-_run_btrfs_util_prog send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
+_btrfs send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
+_btrfs send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
$SCRATCH_MNT/mysnap2
echo "File contents in the original filesystem:"
_scratch_mkfs >>$seqres.full 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $send_files_dir/1.snap $SCRATCH_MNT
-_run_btrfs_util_prog receive -f $send_files_dir/2.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/1.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/2.snap $SCRATCH_MNT
echo "File contents in the new filesystem:"
od -t x1 $SCRATCH_MNT/mysnap2/foo | _filter_od
_scratch_mount
_require_fs_space $SCRATCH_MNT $(($FILESIZE * 2 / 1024))
-_run_btrfs_util_prog quota enable $SCRATCH_MNT
-_run_btrfs_util_prog qgroup limit $FILESIZE 0/5 $SCRATCH_MNT
+_btrfs quota enable $SCRATCH_MNT
+_btrfs qgroup limit $FILESIZE 0/5 $SCRATCH_MNT
# loop 5 times without sync to ensure reserved space leak will happen
for i in `seq 1 5`; do
_mkfs_dev "-f -d raid1 -m raid1 $dev1 $DMERROR_DEV"
_dmerror_mount
-_run_btrfs_util_prog filesystem show -m $SCRATCH_MNT
+_btrfs filesystem show -m $SCRATCH_MNT
$BTRFS_UTIL_PROG filesystem show -m $SCRATCH_MNT | _filter_btrfs_filesystem_show
error_devid=`$BTRFS_UTIL_PROG filesystem show -m $SCRATCH_MNT |\
# now load the error into the DMERROR_DEV
_dmerror_load_error_table
-_run_btrfs_util_prog replace start -B $error_devid $dev2 $SCRATCH_MNT
+_btrfs replace start -B $error_devid $dev2 $SCRATCH_MNT
-_run_btrfs_util_prog filesystem show -m $SCRATCH_MNT
+_btrfs filesystem show -m $SCRATCH_MNT
$BTRFS_UTIL_PROG filesystem show -m $SCRATCH_MNT | _filter_btrfs_filesystem_show
echo "=== device replace completed"
_mkfs_dev -f -d raid1 -m raid1 $dev1 $dev2 $DMERROR_DEV
_dmerror_mount
-_run_btrfs_util_prog filesystem show -m $SCRATCH_MNT
+_btrfs filesystem show -m $SCRATCH_MNT
$BTRFS_UTIL_PROG filesystem show -m $SCRATCH_MNT | _filter_btrfs_filesystem_show
error_devid=`$BTRFS_UTIL_PROG filesystem show -m $SCRATCH_MNT |\
# now load the error into the DMERROR_DEV
_dmerror_load_error_table
-_run_btrfs_util_prog device delete $error_devid $SCRATCH_MNT
+_btrfs device delete $error_devid $SCRATCH_MNT
-_run_btrfs_util_prog filesystem show -m $SCRATCH_MNT
+_btrfs filesystem show -m $SCRATCH_MNT
$BTRFS_UTIL_PROG filesystem show -m $SCRATCH_MNT | _filter_btrfs_filesystem_show
echo "=== device delete completed"
# populate the default subvolume and create a snapshot ('snap1')
_explode_fs_tree 1 $SCRATCH_MNT/files
-_run_btrfs_util_prog subvolume snapshot $SCRATCH_MNT $SCRATCH_MNT/snap1
+_btrfs subvolume snapshot $SCRATCH_MNT $SCRATCH_MNT/snap1
# create new btree nodes in this snapshot. They will become shared
# with the next snapshot we create.
#
# As a result of this action, snap2 will get an implied ref to the
# 128K extent created in the default subvolume.
-_run_btrfs_util_prog subvolume snapshot $SCRATCH_MNT/snap1 $SCRATCH_MNT/snap2
+_btrfs subvolume snapshot $SCRATCH_MNT/snap1 $SCRATCH_MNT/snap2
_explode_fs_tree 1 $SCRATCH_MNT/snap2/files-snap2
# Enable qgroups now that we have our filesystem prepared. This
# will kick off a scan which we will have to wait for.
-_run_btrfs_util_prog quota enable $SCRATCH_MNT
+_btrfs quota enable $SCRATCH_MNT
_qgroup_rescan $SCRATCH_MNT
# Remount to clear cache, force everything to disk
# the root finding code in qgroup accounting due to snap1 no longer
# providing a path to it. This was fixed by the first two patches
# referenced above.
-_run_btrfs_util_prog subvolume delete $SCRATCH_MNT/snap1
+_btrfs subvolume delete $SCRATCH_MNT/snap1
# "btrfs filesystem sync" will trigger subvolume deletion
-_run_btrfs_util_prog filesystem sync $SCRATCH_MNT
+_btrfs filesystem sync $SCRATCH_MNT
# Qgroup will be checked by fstest at _check_scratch_fs()
mkdir -p $SCRATCH_MNT/foo
$XFS_IO_PROG -f -c "pwrite -S 0xaa 0 64K" $SCRATCH_MNT/foo/bar | _filter_xfs_io
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog subvolume snapshot $SCRATCH_MNT $SCRATCH_MNT/mysnap2
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
+_btrfs subvolume snapshot $SCRATCH_MNT $SCRATCH_MNT/mysnap2
echo "File digest before being replaced:"
md5sum $SCRATCH_MNT/mysnap1/foo/bar | _filter_scratch
$XFS_IO_PROG -f -c "pwrite -S 0xbb 0 96K" \
$SCRATCH_MNT/mysnap2/foo/bar | _filter_xfs_io
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT/mysnap2 \
+_btrfs subvolume snapshot -r $SCRATCH_MNT/mysnap2 \
$SCRATCH_MNT/mysnap2_ro
-_run_btrfs_util_prog send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
+_btrfs send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
+_btrfs send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
$SCRATCH_MNT/mysnap2_ro
echo "File digest in the original filesystem after being replaced:"
_scratch_mkfs >>$seqres.full 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $send_files_dir/1.snap $SCRATCH_MNT
-_run_btrfs_util_prog receive -f $send_files_dir/2.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/1.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/2.snap $SCRATCH_MNT
echo "File digest in the new filesystem:"
# Must match the digest from the new file.
-c "fpunch 70K 10k" \
$SCRATCH_MNT/foo | _filter_xfs_io
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap
echo "File digests in the original filesystem:"
md5sum $SCRATCH_MNT/snap/foo | _filter_scratch
md5sum $SCRATCH_MNT/snap/bar | _filter_scratch
-_run_btrfs_util_prog send -f $send_files_dir/1.snap $SCRATCH_MNT/snap
+_btrfs send -f $send_files_dir/1.snap $SCRATCH_MNT/snap
# Now recreate the filesystem by receiving the send stream and verify we get
# the same file contents that the original filesystem had.
_scratch_mkfs >>$seqres.full 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $send_files_dir/1.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/1.snap $SCRATCH_MNT
# We expect the destination filesystem to have exactly the same file data as
# the original filesystem.
cp --reflink=always $SCRATCH_MNT/foo $SCRATCH_MNT/bar
# Create our snapshot for the send operation.
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap
echo "File digests in the original filesystem:"
md5sum $SCRATCH_MNT/snap/foo | _filter_scratch
md5sum $SCRATCH_MNT/snap/bar | _filter_scratch
-_run_btrfs_util_prog send -f $send_files_dir/1.snap $SCRATCH_MNT/snap
+_btrfs send -f $send_files_dir/1.snap $SCRATCH_MNT/snap
# Now recreate the filesystem by receiving the send stream and verify we get
# the same file contents that the original filesystem had.
_scratch_mkfs >>$seqres.full 2>&1
_scratch_mount "-o compress"
-_run_btrfs_util_prog receive -f $send_files_dir/1.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/1.snap $SCRATCH_MNT
echo "File digests in the new filesystem:"
# Must match the digests we got in the original filesystem.
$XFS_IO_PROG -f -c "pwrite -S 0xaa 0K 32K" $SCRATCH_MNT/foo | _filter_xfs_io
# Create the first snapshot.
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap1
echo "File digest in the first filesystem, first snapshot:"
md5sum $SCRATCH_MNT/snap1/foo | _filter_scratch
# Save send stream for this snapshot.
-_run_btrfs_util_prog send -f $send_files_dir/1.snap $SCRATCH_MNT/snap1
+_btrfs send -f $send_files_dir/1.snap $SCRATCH_MNT/snap1
# Create a new filesystem and receive the snapshot.
_scratch_unmount
_scratch_mkfs >>$seqres.full 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $send_files_dir/1.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/1.snap $SCRATCH_MNT
echo "File digest in the second filesystem, first snapshot:"
# Must match the digest we got in the first filesystem.
# Snapshot the first snapshot as rw, modify this new snapshot and then snapshot
# it as RO to use in a send operation (send requires RO snapshots).
-_run_btrfs_util_prog subvolume snapshot $SCRATCH_MNT/snap1 $SCRATCH_MNT/snap2_rw
+_btrfs subvolume snapshot $SCRATCH_MNT/snap1 $SCRATCH_MNT/snap2_rw
$XFS_IO_PROG -c "pwrite -S 0xbb 4K 4K" \
$SCRATCH_MNT/snap2_rw/foo | _filter_xfs_io
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT/snap2_rw \
+_btrfs subvolume snapshot -r $SCRATCH_MNT/snap2_rw \
$SCRATCH_MNT/snap2
echo "File digest in the second filesystem, second snapshot:"
md5sum $SCRATCH_MNT/snap2/foo | _filter_scratch
-_run_btrfs_util_prog send -p $SCRATCH_MNT/snap1 -f $send_files_dir/2.snap \
+_btrfs send -p $SCRATCH_MNT/snap1 -f $send_files_dir/2.snap \
$SCRATCH_MNT/snap2
# Create a new filesystem and receive both the first snapshot, through the first
_scratch_mkfs >>$seqres.full 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $send_files_dir/1.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/1.snap $SCRATCH_MNT
# Receiving the second snapshot used to fail because the send stream used an
# incorrect value for the clone sources uuid field - it used the uuid of
# snapshot 1, which is different on each filesystem, instead of the received
# uuid value, which is preserved across different filesystems.
-_run_btrfs_util_prog receive -f $send_files_dir/2.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/2.snap $SCRATCH_MNT
echo "File digests in the third filesystem:"
# Must match the digests we got in the previous filesystems.
$XFS_IO_PROG -f -c "pwrite -S 0xaa 0K 32K" $SCRATCH_MNT/foo | _filter_xfs_io
# Create the first snapshot.
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap1
# Modify our file and create the second snapshot, used later for an incremental
# send operation.
$XFS_IO_PROG -c "pwrite -S 0xbb 4K 4K" $SCRATCH_MNT/foo | _filter_xfs_io
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap2
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap2
echo "File digests in the first filesystem:"
md5sum $SCRATCH_MNT/snap1/foo | _filter_scratch
# Save send streams for the snapshots. For the first one we use a full send
# operation and the for the second snapshot we use an incremental send.
-_run_btrfs_util_prog send -f $send_files_dir/1.snap $SCRATCH_MNT/snap1
-_run_btrfs_util_prog send -p $SCRATCH_MNT/snap1 -f $send_files_dir/2.snap \
+_btrfs send -f $send_files_dir/1.snap $SCRATCH_MNT/snap1
+_btrfs send -p $SCRATCH_MNT/snap1 -f $send_files_dir/2.snap \
$SCRATCH_MNT/snap2
# Create a new filesystem and receive the snapshots.
_scratch_mkfs >>$seqres.full 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -vv -f $send_files_dir/1.snap $SCRATCH_MNT
-_run_btrfs_util_prog receive -vv -f $send_files_dir/2.snap $SCRATCH_MNT
+_btrfs receive -vv -f $send_files_dir/1.snap $SCRATCH_MNT
+_btrfs receive -vv -f $send_files_dir/2.snap $SCRATCH_MNT
echo "File digests in the second filesystem:"
# Must match the digests we got in the first filesystem.
# Now create send streams for the snapshots from this new filesystem. For the
# first snapshot we do a full send while for the second snapshot we do an
# incremental send.
-_run_btrfs_util_prog send -f $send_files_dir/1_2.snap $SCRATCH_MNT/snap1
-_run_btrfs_util_prog send -p $SCRATCH_MNT/snap1 -f $send_files_dir/2_2.snap \
+_btrfs send -f $send_files_dir/1_2.snap $SCRATCH_MNT/snap1
+_btrfs send -p $SCRATCH_MNT/snap1 -f $send_files_dir/2_2.snap \
$SCRATCH_MNT/snap2
# Create a new filesystem and receive the send streams we just created from the
_scratch_mkfs >>$seqres.full 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -vv -f $send_files_dir/1_2.snap $SCRATCH_MNT
-_run_btrfs_util_prog receive -vv -f $send_files_dir/2_2.snap $SCRATCH_MNT
+_btrfs receive -vv -f $send_files_dir/1_2.snap $SCRATCH_MNT
+_btrfs receive -vv -f $send_files_dir/2_2.snap $SCRATCH_MNT
echo "File digests in the third filesystem:"
# Must match the digests we got in the first and second filesystems.
mkdir -p $SCRATCH_MNT/a/b/c
$XFS_IO_PROG -f -c "pwrite -S 0xfd 0 128K" $SCRATCH_MNT/a/b/c/x | _filter_xfs_io
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap1
# Create a bunch of small and empty files, this is just to make sure our
# subvolume's btree gets more than 1 leaf, a condition necessary to trigger a
# Will be used as an extra source root for clone operations for the incremental
# send operation below.
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/clones_snap
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/clones_snap
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap2
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/snap2
-_run_btrfs_util_prog send -f $tmp/1.snap $SCRATCH_MNT/snap1
-_run_btrfs_util_prog send -f $tmp/clones.snap $SCRATCH_MNT/clones_snap
-_run_btrfs_util_prog send -p $SCRATCH_MNT/snap1 \
+_btrfs send -f $tmp/1.snap $SCRATCH_MNT/snap1
+_btrfs send -f $tmp/clones.snap $SCRATCH_MNT/clones_snap
+_btrfs send -p $SCRATCH_MNT/snap1 \
-c $SCRATCH_MNT/clones_snap -f $tmp/2.snap $SCRATCH_MNT/snap2
echo "File digests in the original filesystem:"
_scratch_mkfs >>$seqres.full 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $tmp/1.snap $SCRATCH_MNT
-_run_btrfs_util_prog receive -f $tmp/clones.snap $SCRATCH_MNT
-_run_btrfs_util_prog receive -f $tmp/2.snap $SCRATCH_MNT
+_btrfs receive -f $tmp/1.snap $SCRATCH_MNT
+_btrfs receive -f $tmp/clones.snap $SCRATCH_MNT
+_btrfs receive -f $tmp/2.snap $SCRATCH_MNT
echo "File digests in the new filesystem:"
# Should match the digests we had in the original filesystem.
# fsync the mount point path, crash and mount to replay the log. This should
# succeed and after the filesystem is mounted the snapshot should not be visible
# anymore.
-_run_btrfs_util_prog subvolume snapshot $SCRATCH_MNT $SCRATCH_MNT/snap1
-_run_btrfs_util_prog subvolume delete $SCRATCH_MNT/snap1
+_btrfs subvolume snapshot $SCRATCH_MNT $SCRATCH_MNT/snap1
+_btrfs subvolume delete $SCRATCH_MNT/snap1
$XFS_IO_PROG -c "fsync" $SCRATCH_MNT
_flakey_drop_and_remount
[ -e $SCRATCH_MNT/snap1 ] && echo "Snapshot snap1 still exists after log replay"
# Similar scenario as above, but this time the snapshot is created inside a
# directory and not directly under the root (mount point path).
mkdir $SCRATCH_MNT/testdir
-_run_btrfs_util_prog subvolume snapshot $SCRATCH_MNT $SCRATCH_MNT/testdir/snap2
-_run_btrfs_util_prog subvolume delete $SCRATCH_MNT/testdir/snap2
+_btrfs subvolume snapshot $SCRATCH_MNT $SCRATCH_MNT/testdir/snap2
+_btrfs subvolume delete $SCRATCH_MNT/testdir/snap2
$XFS_IO_PROG -c "fsync" $SCRATCH_MNT/testdir
_flakey_drop_and_remount
[ -e $SCRATCH_MNT/testdir/snap2 ] && \
_init_flakey
_mount_flakey
-_run_btrfs_util_prog quota enable $SCRATCH_MNT
+_btrfs quota enable $SCRATCH_MNT
# Create 2 directories with one file in one of them.
# We use these just to trigger a transaction commit later, moving the file from
# power failure happens before the dedicated kernel thread does the snapshot
# deletion, the next time the filesystem is mounted it resumes the snapshot
# deletion.
-_run_btrfs_util_prog subvolume snapshot $SCRATCH_MNT $SCRATCH_MNT/snap
-_run_btrfs_util_prog subvolume delete $SCRATCH_MNT/snap
+_btrfs subvolume snapshot $SCRATCH_MNT $SCRATCH_MNT/snap
+_btrfs subvolume delete $SCRATCH_MNT/snap
# Now overwrite half of the extents we wrote before. Because we made a snapshpot
# before, which isn't really deleted yet (since no transaction commit happened
populate_testdir()
{
- _run_btrfs_util_prog subvolume snapshot $SCRATCH_MNT \
+ _btrfs subvolume snapshot $SCRATCH_MNT \
$SCRATCH_MNT/testdir/snap
- _run_btrfs_util_prog subvolume delete $SCRATCH_MNT/testdir/snap
+ _btrfs subvolume delete $SCRATCH_MNT/testdir/snap
rmdir $SCRATCH_MNT/testdir
mkdir $SCRATCH_MNT/testdir
}
_scratch_mkfs >/dev/null
_scratch_mount
-_run_btrfs_util_prog quota enable $SCRATCH_MNT
+_btrfs quota enable $SCRATCH_MNT
# The qgroup '1/10' does not exist. The kernel should either gives an error
# (newer kernel with invalid qgroup detection) or ignore it (older kernel with
# above fix).
_scratch_mkfs >> $seqres.full
_scratch_mount
-_run_btrfs_util_prog quota enable $SCRATCH_MNT
+_btrfs quota enable $SCRATCH_MNT
mkdir "$SCRATCH_MNT/snaps"
# First make some simple snapshots - the bug was initially reproduced like this
-_run_btrfs_util_prog subvolume snapshot $SCRATCH_MNT "$SCRATCH_MNT/snaps/empty1"
-_run_btrfs_util_prog subvolume snapshot $SCRATCH_MNT "$SCRATCH_MNT/snaps/empty2"
+_btrfs subvolume snapshot $SCRATCH_MNT "$SCRATCH_MNT/snaps/empty1"
+_btrfs subvolume snapshot $SCRATCH_MNT "$SCRATCH_MNT/snaps/empty2"
# This forces the fs tree out past level 0, adding at least one tree
# block which must be properly accounted for when we make our next
done
# Snapshot twice.
-_run_btrfs_util_prog subvolume snapshot $SCRATCH_MNT "$SCRATCH_MNT/snaps/snap1"
-_run_btrfs_util_prog subvolume snapshot $SCRATCH_MNT "$SCRATCH_MNT/snaps/snap2"
+_btrfs subvolume snapshot $SCRATCH_MNT "$SCRATCH_MNT/snaps/snap1"
+_btrfs subvolume snapshot $SCRATCH_MNT "$SCRATCH_MNT/snaps/snap2"
_scratch_unmount
sync
# enable quota and rescan to get correct number
-_run_btrfs_util_prog quota enable $SCRATCH_MNT
+_btrfs quota enable $SCRATCH_MNT
_qgroup_rescan $SCRATCH_MNT
# now balance data block groups to corrupt qgroup
echo "-----Initialize -----" >> $seqres.full
_scratch_pool_mkfs "-mraid1 -draid1" >> $seqres.full 2>&1
_scratch_mount >> $seqres.full 2>&1
-_run_btrfs_util_prog filesystem show
+_btrfs filesystem show
dd if=/dev/zero of="$SCRATCH_MNT"/tf1 bs=$bs count=1 \
>>$seqres.full 2>&1
echo "unmount" >> $seqres.full
# the device used for mounting.
_mount -o degraded $dev1 $SCRATCH_MNT >>$seqres.full 2>&1
-_run_btrfs_util_prog filesystem show
+_btrfs filesystem show
dd if=/dev/zero of="$SCRATCH_MNT"/tf2 bs=$bs count=$count \
>>$seqres.full 2>&1
checkpoint1=`md5sum $SCRATCH_MNT/tf2`
echo "-----Mount normal-----" >> $seqres.full
echo
echo "Mount normal and balance"
-_run_btrfs_util_prog device scan
+_btrfs device scan
_scratch_mount >> $seqres.full 2>&1
-_run_btrfs_util_prog filesystem show
+_btrfs filesystem show
echo >> $seqres.full
_run_btrfs_balance_start ${SCRATCH_MNT} >>$seqres.full
# un-scan the btrfs devices
_btrfs_forget_or_module_reload
_mount -o degraded $dev2 $SCRATCH_MNT >>$seqres.full 2>&1
-_run_btrfs_util_prog filesystem show
+_btrfs filesystem show
checkpoint3=`md5sum $SCRATCH_MNT/tf2`
echo $checkpoint3 >> $seqres.full 2>&1
_scratch_mount >> $seqres.full 2>&1
dd if=/dev/zero of="$SCRATCH_MNT"/tf1 bs=$bs count=1 \
>>$seqres.full 2>&1
-_run_btrfs_util_prog filesystem show
-_run_btrfs_util_prog filesystem df $SCRATCH_MNT
+_btrfs filesystem show
+_btrfs filesystem df $SCRATCH_MNT
#-------------degraded-init-------------------
echo >> $seqres.full
_mount -o degraded,device=$dev2 $dev1 $SCRATCH_MNT >>$seqres.full 2>&1
dd if=/dev/zero of="$SCRATCH_MNT"/tf2 bs=$bs count=$count \
>>$seqres.full 2>&1
-_run_btrfs_util_prog filesystem show
-_run_btrfs_util_prog filesystem df $SCRATCH_MNT
+_btrfs filesystem show
+_btrfs filesystem df $SCRATCH_MNT
checkpoint1=`md5sum $SCRATCH_MNT/tf2`
echo $checkpoint1 >> $seqres.full 2>&1
echo "Mount normal and balance"
_scratch_unmount
-_run_btrfs_util_prog device scan
+_btrfs device scan
_scratch_mount >> $seqres.full 2>&1
echo >> $seqres.full
_run_btrfs_balance_start $SCRATCH_MNT >> $seqres.full
-_run_btrfs_util_prog filesystem show
-_run_btrfs_util_prog filesystem df ${SCRATCH_MNT}
+_btrfs filesystem show
+_btrfs filesystem df ${SCRATCH_MNT}
checkpoint2=`md5sum $SCRATCH_MNT/tf2`
echo $checkpoint2 >> $seqres.full 2>&1
_mount -o degraded,device=${dev2} $dev3 $SCRATCH_MNT >>$seqres.full 2>&1
-_run_btrfs_util_prog filesystem show
-_run_btrfs_util_prog filesystem df $SCRATCH_MNT
+_btrfs filesystem show
+_btrfs filesystem df $SCRATCH_MNT
checkpoint3=`md5sum $SCRATCH_MNT/tf2`
echo $checkpoint3 >> $seqres.full 2>&1
# Use enospc_debug mount option to trigger restrict space info check
_scratch_mount "-o enospc_debug"
-_run_btrfs_util_prog quota enable $SCRATCH_MNT
+_btrfs quota enable $SCRATCH_MNT
_qgroup_rescan $SCRATCH_MNT
-_run_btrfs_util_prog qgroup limit 512K 0/5 $SCRATCH_MNT
+_btrfs qgroup limit 512K 0/5 $SCRATCH_MNT
# The amount of written data may change due to different nodesize at mkfs time,
# so redirect stdout to seqres.full.
# |
# |---- other_dir/ (ino 284)
#
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
# case 1
#
# |---- desc/ (ino 282)
# |---- ance/ (ino 283)
#
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
run_check $FSSUM_PROG -A -f -w $send_files_dir/1.fssum $SCRATCH_MNT/mysnap1
run_check $FSSUM_PROG -A -f -w $send_files_dir/2.fssum \
-x $SCRATCH_MNT/mysnap2/mysnap1 $SCRATCH_MNT/mysnap2
-_run_btrfs_util_prog send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
+_btrfs send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
+_btrfs send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
$SCRATCH_MNT/mysnap2
# Now recreate the filesystem by receiving both send streams and verify we get
_scratch_mkfs >>$seqres.full 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $send_files_dir/1.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/1.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $send_files_dir/1.fssum $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog receive -f $send_files_dir/2.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/2.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $send_files_dir/2.fssum $SCRATCH_MNT/mysnap2
echo "Silence is golden"
# |--- x/ (ino 261)
# |--- y/ (ino 262)
#
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
# It used to be that when attempting to issue an rmdir operation for inode 259,
# the kernel allocated an orphan_dir_info structure so that later after doing
# |--- c/ (ino 260)
# |--- tmp/ (ino 258)
#
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
run_check $FSSUM_PROG -A -f -w $send_files_dir/1.fssum $SCRATCH_MNT/mysnap1
run_check $FSSUM_PROG -A -f -w $send_files_dir/2.fssum \
-x $SCRATCH_MNT/mysnap2/mysnap1 $SCRATCH_MNT/mysnap2
-_run_btrfs_util_prog send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
+_btrfs send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
+_btrfs send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
$SCRATCH_MNT/mysnap2
# Now recreate the filesystem by receiving both send streams and verify we get
_scratch_mkfs >>$seqres.full 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $send_files_dir/1.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/1.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $send_files_dir/1.fssum $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog receive -f $send_files_dir/2.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/2.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $send_files_dir/2.fssum $SCRATCH_MNT/mysnap2
echo "Silence is golden"
# |--- tmp/ (ino 258)
# |--- x/ (ino 261)
#
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
# When inode 260 was processed, rename operations for it and for inode 258 were
# issued (the rename for inode 260 must happen before the rename for inode 258).
# |--- c/ (ino 260)
# |--- tmp/ (ino 258)
#
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
run_check $FSSUM_PROG -A -f -w $send_files_dir/1.fssum $SCRATCH_MNT/mysnap1
run_check $FSSUM_PROG -A -f -w $send_files_dir/2.fssum \
-x $SCRATCH_MNT/mysnap2/mysnap1 $SCRATCH_MNT/mysnap2
-_run_btrfs_util_prog send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
+_btrfs send -f $send_files_dir/1.snap $SCRATCH_MNT/mysnap1
+_btrfs send -p $SCRATCH_MNT/mysnap1 -f $send_files_dir/2.snap \
$SCRATCH_MNT/mysnap2
# Now recreate the filesystem by receiving both send streams and verify we get
_scratch_mkfs >>$seqres.full 2>&1
_scratch_mount
-_run_btrfs_util_prog receive -f $send_files_dir/1.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/1.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $send_files_dir/1.fssum $SCRATCH_MNT/mysnap1
-_run_btrfs_util_prog receive -f $send_files_dir/2.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/2.snap $SCRATCH_MNT
run_check $FSSUM_PROG -r $send_files_dir/2.fssum $SCRATCH_MNT/mysnap2
echo "Silence is golden"
done
# create a RO snapshot, so we can send out the snapshot
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/ro_snap
+_btrfs subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/ro_snap
# send out the subvolume, and it will either:
# 1) OOM since memory is allocated inside a O(n^3) loop
SUBVOL=$SCRATCH_MNT/subvol
-_run_btrfs_util_prog subvolume create $SUBVOL
-_run_btrfs_util_prog quota enable $SCRATCH_MNT
+_btrfs subvolume create $SUBVOL
+_btrfs quota enable $SCRATCH_MNT
_qgroup_rescan $SCRATCH_MNT
-_run_btrfs_util_prog qgroup limit -e 1G $SUBVOL
+_btrfs qgroup limit -e 1G $SUBVOL
# Write and delete files within 1G limits, multiple times
for i in $(seq 1 5); do
_scratch_mkfs >/dev/null
_scratch_mount
-_run_btrfs_util_prog quota enable $SCRATCH_MNT
+_btrfs quota enable $SCRATCH_MNT
_qgroup_rescan $SCRATCH_MNT
-_run_btrfs_util_prog qgroup limit 100M 0/5 $SCRATCH_MNT
+_btrfs qgroup limit 100M 0/5 $SCRATCH_MNT
testfile1=$SCRATCH_MNT/testfile1
testfile2=$SCRATCH_MNT/testfile2
/dev/null
echo -- golden --
od -x $SCRATCH_MNT/foobar
- _run_btrfs_util_prog filesystem show -m $SCRATCH_MNT
+ _btrfs filesystem show -m $SCRATCH_MNT
_scratch_unmount
$BTRFS_TUNE_PROG -S 1 $dev_seed
run_check _mount $dev_seed $SCRATCH_MNT
create_sprout()
{
- _run_btrfs_util_prog device add -f $dev_sprout $SCRATCH_MNT >> \
+ _btrfs device add -f $dev_sprout $SCRATCH_MNT >> \
$seqres.full
_scratch_unmount
run_check _mount $dev_sprout $SCRATCH_MNT
/dev/null
echo -- gloden --
od -x $SCRATCH_MNT/foobar
- _run_btrfs_util_prog filesystem show -m $SCRATCH_MNT
+ _btrfs filesystem show -m $SCRATCH_MNT
_scratch_unmount
$BTRFS_TUNE_PROG -S 1 $dev_seed
}
create_sprout_seed()
{
run_check _mount $dev_seed $SCRATCH_MNT
- _run_btrfs_util_prog device add -f $dev_sprout_seed $SCRATCH_MNT >>\
+ _btrfs device add -f $dev_sprout_seed $SCRATCH_MNT >>\
$seqres.full
_scratch_unmount
$BTRFS_TUNE_PROG -S 1 $dev_sprout_seed
create_next_sprout()
{
run_check _mount $dev_sprout_seed $SCRATCH_MNT
- _run_btrfs_util_prog device add -f $dev_sprout $SCRATCH_MNT >>\
+ _btrfs device add -f $dev_sprout $SCRATCH_MNT >>\
$seqres.full
_scratch_unmount
run_check _mount $dev_sprout $SCRATCH_MNT
/dev/null
echo -- golden --
od -x $SCRATCH_MNT/foobar
- _run_btrfs_util_prog filesystem show -m $SCRATCH_MNT
+ _btrfs filesystem show -m $SCRATCH_MNT
_scratch_unmount
$BTRFS_TUNE_PROG -S 1 $dev_seed
run_check _mount $dev_seed $SCRATCH_MNT
add_sprout()
{
- _run_btrfs_util_prog device add -f $dev_sprout $SCRATCH_MNT >>\
+ _btrfs device add -f $dev_sprout $SCRATCH_MNT >>\
$seqres.full
- _run_btrfs_util_prog filesystem show -m $SCRATCH_MNT
+ _btrfs filesystem show -m $SCRATCH_MNT
_mount -o remount,rw $dev_sprout $SCRATCH_MNT
$XFS_IO_PROG -f -c "pwrite -S 0xcd 0 4M" $SCRATCH_MNT/foobar2 >\
/dev/null
replace_sprout()
{
- _run_btrfs_util_prog replace start -fB $dev_sprout $dev_replace_tgt $SCRATCH_MNT
- _run_btrfs_util_prog filesystem show -m $SCRATCH_MNT
+ _btrfs replace start -fB $dev_sprout $dev_replace_tgt $SCRATCH_MNT
+ _btrfs filesystem show -m $SCRATCH_MNT
_scratch_unmount
_btrfs_forget_or_module_reload
run_check _mount -o device=$dev_seed $dev_replace_tgt $SCRATCH_MNT
{
_btrfs_forget_or_module_reload
run_check _mount $dev_seed $SCRATCH_MNT
- _run_btrfs_util_prog filesystem show -m $SCRATCH_MNT
+ _btrfs filesystem show -m $SCRATCH_MNT
_scratch_unmount
}
/dev/null
echo -- gloden --
od -x $SCRATCH_MNT/foobar
- _run_btrfs_util_prog filesystem show -m $SCRATCH_MNT
+ _btrfs filesystem show -m $SCRATCH_MNT
_scratch_unmount
$BTRFS_TUNE_PROG -S 1 $dev_seed
run_check _mount $dev_seed $SCRATCH_MNT
add_sprout()
{
- _run_btrfs_util_prog device add -f $dev_sprout $SCRATCH_MNT >>\
+ _btrfs device add -f $dev_sprout $SCRATCH_MNT >>\
$seqres.full
run_check mount -o rw,remount $dev_seed $SCRATCH_MNT
- _run_btrfs_util_prog filesystem show -m $SCRATCH_MNT
+ _btrfs filesystem show -m $SCRATCH_MNT
}
delete_seed()
{
- _run_btrfs_util_prog device delete $dev_seed $SCRATCH_MNT
+ _btrfs device delete $dev_seed $SCRATCH_MNT
_scratch_unmount
_btrfs_forget_or_module_reload
run_check _mount $dev_sprout $SCRATCH_MNT
- _run_btrfs_util_prog filesystem show -m $SCRATCH_MNT
+ _btrfs filesystem show -m $SCRATCH_MNT
echo -- sprout --
od -x $SCRATCH_MNT/foobar
_scratch_unmount
seed_is_mountable()
{
run_check _mount $dev_seed $SCRATCH_MNT
- _run_btrfs_util_prog filesystem show -m $SCRATCH_MNT
+ _btrfs filesystem show -m $SCRATCH_MNT
_scratch_unmount
}
# Enable qgroups on the filesystem. This will start the qgroup rescan kernel
# thread.
-_run_btrfs_util_prog quota enable $SCRATCH_MNT
+_btrfs quota enable $SCRATCH_MNT
# Simulate a power failure, while the qgroup rescan kernel thread is running,
# and then mount the filesystem to check that mounting the filesystem does not
sync
# Replace the device
-_run_btrfs_util_prog replace start -Bf 1 $SPARE_DEV $SCRATCH_MNT
+_btrfs replace start -Bf 1 $SPARE_DEV $SCRATCH_MNT
# Unmount to drop all cache so next read will read from disk
_scratch_unmount
# Mount the seed device and add the rw device
_mount -o ro $dev_seed $SCRATCH_MNT
-_run_btrfs_util_prog device add -f $dev_sprout $SCRATCH_MNT >> $seqres.full
+_btrfs device add -f $dev_sprout $SCRATCH_MNT >> $seqres.full
$BTRFS_UTIL_PROG device stats $SCRATCH_MNT | _filter_scratch_pool
_scratch_unmount
_scratch_mount
# Create a file and 2000 hard links to the same inode
-_run_btrfs_util_prog subvolume create $SCRATCH_MNT/vol
+_btrfs subvolume create $SCRATCH_MNT/vol
touch $SCRATCH_MNT/vol/foo
for i in {1..2000}; do
link $SCRATCH_MNT/vol/foo $SCRATCH_MNT/vol/$i
done
# Create a snapshot for a full send operation
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT/vol $SCRATCH_MNT/snap1
-_run_btrfs_util_prog send -f $send_files_dir/1.snap $SCRATCH_MNT/snap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT/vol $SCRATCH_MNT/snap1
+_btrfs send -f $send_files_dir/1.snap $SCRATCH_MNT/snap1
# Remove 2000 hard links and re-create the last 1000 links
for i in {1..2000}; do
done
# Create another snapshot for an incremental send operation
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT/vol $SCRATCH_MNT/snap2
-_run_btrfs_util_prog send -p $SCRATCH_MNT/snap1 -f $send_files_dir/2.snap \
+_btrfs subvolume snapshot -r $SCRATCH_MNT/vol $SCRATCH_MNT/snap2
+_btrfs send -p $SCRATCH_MNT/snap1 -f $send_files_dir/2.snap \
$SCRATCH_MNT/snap2
$FSSUM_PROG -A -f -w $send_files_dir/1.fssum $SCRATCH_MNT/snap1
# Add the first snapshot to the new filesystem by applying the first send
# stream.
-_run_btrfs_util_prog receive -f $send_files_dir/1.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/1.snap $SCRATCH_MNT
# The incremental receive operation below used to fail with the following
# error:
# operation cannot handle the duplicated paths, which are stored in
# different ways, well, so it decides to issue a link operation for the
# existing path. This results in the receiver to fail with the above error.
-_run_btrfs_util_prog receive -f $send_files_dir/2.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/2.snap $SCRATCH_MNT
$FSSUM_PROG -r $send_files_dir/1.fssum $SCRATCH_MNT/snap1
$FSSUM_PROG -r $send_files_dir/2.fssum $SCRATCH_MNT/snap2
}
# This test case does not return the result because
-# _run_btrfs_util_prog will call _fail() in the error case anyway.
+# _btrfs will call _fail() in the error case anyway.
stress_metadata_bgs() {
local metabgs=$(get_meta_bgs)
local count=0
while : ; do
- _run_btrfs_util_prog subvolume snapshot ${SCRATCH_MNT} ${SCRATCH_MNT}/snap$i
- _run_btrfs_util_prog filesystem sync ${SCRATCH_MNT}
+ _btrfs subvolume snapshot ${SCRATCH_MNT} ${SCRATCH_MNT}/snap$i
+ _btrfs filesystem sync ${SCRATCH_MNT}
cur_metabgs=$(get_meta_bgs)
if [[ "${cur_metabgs}" != "${metabgs}" ]]; then
break
_scratch_mkfs >>$seqres.full 2>&1
_scratch_mount
-_run_btrfs_util_prog subvolume create $SCRATCH_MNT/vol
+_btrfs subvolume create $SCRATCH_MNT/vol
# Creating the first snapshot looks like:
#
touch $SCRATCH_MNT/vol/changed_subcase1.dir/foo
mkdir $SCRATCH_MNT/vol/changed_subcase2.dir
touch $SCRATCH_MNT/vol/changed_subcase2.dir/foo
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT/vol $SCRATCH_MNT/snap1
+_btrfs subvolume snapshot -r $SCRATCH_MNT/vol $SCRATCH_MNT/snap1
# Delete the deleted.*, create a new file and a new directory, and then
# take the second snapshot looks like:
rmdir $SCRATCH_MNT/vol/deleted.dir
touch $SCRATCH_MNT/vol/new.file
mkdir $SCRATCH_MNT/vol/new.dir
-_run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT/vol $SCRATCH_MNT/snap2
+_btrfs subvolume snapshot -r $SCRATCH_MNT/vol $SCRATCH_MNT/snap2
# Set the snapshot "snap1" to read-write mode and turn several inodes to
# orphans, so that the snapshot will look like this:
$BTRFS_UTIL_PROG property set $SCRATCH_MNT/snap2 ro true
# Test that a full send operation can handle orphans with no paths
-_run_btrfs_util_prog send -f $send_files_dir/1.snap $SCRATCH_MNT/snap1
+_btrfs send -f $send_files_dir/1.snap $SCRATCH_MNT/snap1
# Test that an incremental send operation can handle orphans.
#
# the receive operation will fail with a wrong unlink on a non-empty
# directory.
#
-_run_btrfs_util_prog send -p $SCRATCH_MNT/snap1 -f $send_files_dir/2.snap \
+_btrfs send -p $SCRATCH_MNT/snap1 -f $send_files_dir/2.snap \
$SCRATCH_MNT/snap2
$FSSUM_PROG -A -f -w $send_files_dir/1.fssum $SCRATCH_MNT/snap1
# Add the first snapshot to the new filesystem by applying the first send
# stream.
-_run_btrfs_util_prog receive -f $send_files_dir/1.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/1.snap $SCRATCH_MNT
# Test the incremental send stream
-_run_btrfs_util_prog receive -f $send_files_dir/2.snap $SCRATCH_MNT
+_btrfs receive -f $send_files_dir/2.snap $SCRATCH_MNT
$FSSUM_PROG -r $send_files_dir/1.fssum $SCRATCH_MNT/snap1
$FSSUM_PROG -r $send_files_dir/2.fssum $SCRATCH_MNT/snap2
_basic_test()
{
echo "=== basic test ===" >> $seqres.full
- _run_btrfs_util_prog subvolume create $SCRATCH_MNT/a
- _run_btrfs_util_prog quota enable $SCRATCH_MNT/a
+ _btrfs subvolume create $SCRATCH_MNT/a
+ _btrfs quota enable $SCRATCH_MNT/a
_qgroup_rescan $SCRATCH_MNT
subvolid=$(_btrfs_get_subvolid $SCRATCH_MNT a)
$BTRFS_UTIL_PROG qgroup show $units $SCRATCH_MNT | grep $subvolid >> \
[ $? -eq 0 ] || _fail "couldn't find our subvols quota group"
run_check $FSSTRESS_PROG -d $SCRATCH_MNT/a -w -p 1 -n 2000 \
$FSSTRESS_AVOID
- _run_btrfs_util_prog subvolume snapshot $SCRATCH_MNT/a \
+ _btrfs subvolume snapshot $SCRATCH_MNT/a \
$SCRATCH_MNT/b
# the shared values of both the original subvol and snapshot should
{
echo "=== rescan test ===" >> $seqres.full
# first with a blank subvol
- _run_btrfs_util_prog subvolume create $SCRATCH_MNT/a
- _run_btrfs_util_prog quota enable $SCRATCH_MNT/a
+ _btrfs subvolume create $SCRATCH_MNT/a
+ _btrfs quota enable $SCRATCH_MNT/a
subvolid=$(_btrfs_get_subvolid $SCRATCH_MNT a)
run_check $FSSTRESS_PROG -d $SCRATCH_MNT/a -w -p 1 -n 2000 \
$FSSTRESS_AVOID
_limit_test_noexceed()
{
echo "=== limit not exceed test ===" >> $seqres.full
- _run_btrfs_util_prog subvolume create $SCRATCH_MNT/a
- _run_btrfs_util_prog quota enable $SCRATCH_MNT
+ _btrfs subvolume create $SCRATCH_MNT/a
+ _btrfs quota enable $SCRATCH_MNT
subvolid=$(_btrfs_get_subvolid $SCRATCH_MNT a)
- _run_btrfs_util_prog qgroup limit 5M 0/$subvolid $SCRATCH_MNT
+ _btrfs qgroup limit 5M 0/$subvolid $SCRATCH_MNT
_ddt of=$SCRATCH_MNT/a/file bs=4M count=1 >> $seqres.full 2>&1
[ $? -eq 0 ] || _fail "should have been allowed to write"
}