path: root/tests/misc-tests
diff options
authorZhao Lei <>2015-08-28 11:42:11 +0800
committerDavid Sterba <>2015-08-31 19:25:14 +0200
commitf7ad593ca0561c799c2c3cb25f4ecc1c99913440 (patch)
treea9d0a9009f7a30dd97e870a60e96a8570a739e92 /tests/misc-tests
parent657e520a111601918feff9ce957ea19d9b18d0dd (diff)
btrfs-progs: tests: Introduce subvolume sync test
Current code have following bug for subvolume sync: 1: If there are more than 1 subvolume to sync, the program will infinitely loop. 2: return !0 in exit This patch add misc-tests/007-subvolume-sync for above case. Signed-off-by: Zhao Lei <> Signed-off-by: David Sterba <>
Diffstat (limited to 'tests/misc-tests')
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/misc-tests/007-subvolume-sync/ b/tests/misc-tests/007-subvolume-sync/
new file mode 100755
index 00000000..d4019f43
--- /dev/null
+++ b/tests/misc-tests/007-subvolume-sync/
@@ -0,0 +1,32 @@
+# test btrfs subvolume run normally with more than one subvolume
+# - btrfs subvolume must not loop indefinetelly
+# - btrfs subvolume return 0 in normal case
+source $TOP/tests/common
+check_prereq mkfs.btrfs
+check_prereq btrfs
+run_check $SUDO_HELPER $TOP/mkfs.btrfs -f "$TEST_DEV"
+run_check $SUDO_HELPER mount "$TEST_DEV" "$TEST_MNT"
+# to check following thing in both 1 and multiple subvolume case:
+# 1: is subvolume sync loop indefinetelly
+# 2: is return value right
+run_check $SUDO_HELPER $TOP/btrfs subvolume create "$TEST_MNT"/mysubvol1
+run_check $SUDO_HELPER $TOP/btrfs subvolume create "$TEST_MNT"/mysubvol2
+run_check $SUDO_HELPER $TOP/btrfs subvolume delete "$TEST_MNT"/mysubvol1
+run_check $SUDO_HELPER $TOP/btrfs subvolume delete "$TEST_MNT"/mysubvol2
+run_check $SUDO_HELPER $TOP/btrfs subvolume sync "$TEST_MNT"
+run_check $SUDO_HELPER $TOP/btrfs subvolume create "$TEST_MNT"/mysubvol
+run_check $SUDO_HELPER $TOP/btrfs subvolume delete "$TEST_MNT"/mysubvol
+run_check $SUDO_HELPER $TOP/btrfs subvolume sync "$TEST_MNT"
+run_check $SUDO_HELPER umount $TEST_MNT