Add a test which ensures the kernel returns the correct error value
when missing device removal is requested. This test verifies that kernel
refactoring didn't broken the return value.

Signed-off-by: Nikolay Borisov <nbori...@suse.com>
---
 tests/misc-tests/011-delete-missing-device/test.sh | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/tests/misc-tests/011-delete-missing-device/test.sh 
b/tests/misc-tests/011-delete-missing-device/test.sh
index 4c976421c091..b799a25c201d 100755
--- a/tests/misc-tests/011-delete-missing-device/test.sh
+++ b/tests/misc-tests/011-delete-missing-device/test.sh
@@ -44,6 +44,21 @@ test_delete_missing()
        run_check_umount_test_dev
 }
 
+test_missing_error()
+{
+       run_check $SUDO_HELPER "$TOP/mkfs.btrfs" -f "$TEST_DEV"
+       run_check_mount_test_dev
+       local out
+       out=$(run_mustfail_stdout "Unexpected success" \
+               $SUDO_HELPER "$TOP/btrfs" device remove missing "$TEST_MNT")
+
+       if ! echo "$out" | grep -q "no missing devices found to remove"; then
+               _fail "IOCTL returned unexpected error value"
+       fi
+
+       run_check_umount_test_dev
+}
+
 setup_loopdevs 4
 prepare_loopdevs
 dev1=${loopdevs[1]}
@@ -53,5 +68,7 @@ TEST_DEV=$dev1
 test_do_mkfs -m raid1 -d raid1
 test_wipefs
 test_delete_missing
+test_missing_error
+
 
 cleanup_loopdevs
-- 
2.7.4

Reply via email to