diff mbox series

[v3,4/4] btrfs-progs: fix misc-test/029 provide device for mount

Message ID 1585879843-17731-5-git-send-email-anand.jain@oracle.com (mailing list archive)
State New, archived
Headers show
Series btrfs-progs: fix issues in tests | expand

Commit Message

Anand Jain April 3, 2020, 2:10 a.m. UTC
The mount fails with 'file exists' error. Fix it by providing the device
name.

$ make TEST=029\* test-misc
    [TEST]   misc-tests.sh
    [TEST/misc]   029-send-p-different-mountpoints
failed: mount -t btrfs -o subvol=subv1 /btrfs-progs/tests//test.img /btrfs-progs/tests/misc-tests/029-send-p-different-mountpoints/subvol_mnt
test failed for case 029-send-p-different-mountpoints
make: *** [test-misc] Error 1

====== RUN CHECK mount -t btrfs -o subvol=subv1
/btrfs-progs/tests//test.img
/btrfs-progs/tests/misc-tests/029-send-p-different-mountpoints/subvol_mnt
mount: mount /dev/loop1 on
/btrfs-progs/tests/misc-tests/029-send-p-different-mountpoints/subvol_mnt
failed: File exists
failed: mount -t btrfs -o subvol=subv1 /btrfs-progs/tests//test.img
/btrfs-progs/tests/misc-tests/029-send-p-different-mountpoints/subvol_mnt
test failed for case 029-send-p-different-mountpoints

Signed-off-by: Anand Jain <anand.jain@oracle.com>
---
v2: use readlink to sanitize the TEST_DEV path
v3: readlink for TEST_DEV is not needed drop it

 tests/misc-tests/029-send-p-different-mountpoints/test.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

David Sterba April 9, 2020, 4:23 p.m. UTC | #1
On Fri, Apr 03, 2020 at 10:10:43AM +0800, Anand Jain wrote:
> The mount fails with 'file exists' error. Fix it by providing the device
> name.
> 
> $ make TEST=029\* test-misc
>     [TEST]   misc-tests.sh
>     [TEST/misc]   029-send-p-different-mountpoints
> failed: mount -t btrfs -o subvol=subv1 /btrfs-progs/tests//test.img /btrfs-progs/tests/misc-tests/029-send-p-different-mountpoints/subvol_mnt
> test failed for case 029-send-p-different-mountpoints
> make: *** [test-misc] Error 1
> 
> ====== RUN CHECK mount -t btrfs -o subvol=subv1
> /btrfs-progs/tests//test.img
> /btrfs-progs/tests/misc-tests/029-send-p-different-mountpoints/subvol_mnt
> mount: mount /dev/loop1 on
> /btrfs-progs/tests/misc-tests/029-send-p-different-mountpoints/subvol_mnt
> failed: File exists
> failed: mount -t btrfs -o subvol=subv1 /btrfs-progs/tests//test.img
> /btrfs-progs/tests/misc-tests/029-send-p-different-mountpoints/subvol_mnt
> test failed for case 029-send-p-different-mountpoints
> 
> Signed-off-by: Anand Jain <anand.jain@oracle.com>
> ---
> v2: use readlink to sanitize the TEST_DEV path
> v3: readlink for TEST_DEV is not needed drop it
> 
>  tests/misc-tests/029-send-p-different-mountpoints/test.sh | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/misc-tests/029-send-p-different-mountpoints/test.sh b/tests/misc-tests/029-send-p-different-mountpoints/test.sh
> index a478b3d26495..b05e4172ca0f 100755
> --- a/tests/misc-tests/029-send-p-different-mountpoints/test.sh
> +++ b/tests/misc-tests/029-send-p-different-mountpoints/test.sh
> @@ -20,7 +20,8 @@ run_check_mkfs_test_dev
>  run_check_mount_test_dev
>  
>  run_check $SUDO_HELPER "$TOP/btrfs" subvolume create "$TEST_MNT/subv1"
> -run_check $SUDO_HELPER mount -t btrfs -o subvol=subv1 "$TEST_DEV" "$SUBVOL_MNT"
> +lodev=$(losetup  | grep ${TEST_DEV} | awk '{print $1}')
> +run_check $SUDO_HELPER mount -t btrfs -o subvol=subv1 "$lodev" "$SUBVOL_MNT"

The test dev is not necessarily a loop device, yes by default it is, but
TEST_DEV can be set externally.

I still wonder why the test fails for you because it does not for me and
without more information it's not clear what is mount reporting as
'File exists', which is EEXIST.
diff mbox series

Patch

diff --git a/tests/misc-tests/029-send-p-different-mountpoints/test.sh b/tests/misc-tests/029-send-p-different-mountpoints/test.sh
index a478b3d26495..b05e4172ca0f 100755
--- a/tests/misc-tests/029-send-p-different-mountpoints/test.sh
+++ b/tests/misc-tests/029-send-p-different-mountpoints/test.sh
@@ -20,7 +20,8 @@  run_check_mkfs_test_dev
 run_check_mount_test_dev
 
 run_check $SUDO_HELPER "$TOP/btrfs" subvolume create "$TEST_MNT/subv1"
-run_check $SUDO_HELPER mount -t btrfs -o subvol=subv1 "$TEST_DEV" "$SUBVOL_MNT"
+lodev=$(losetup  | grep ${TEST_DEV} | awk '{print $1}')
+run_check $SUDO_HELPER mount -t btrfs -o subvol=subv1 "$lodev" "$SUBVOL_MNT"
 
 run_check $SUDO_HELPER "$TOP/btrfs" subvolume create "$TEST_MNT/test-subvol"
 run_check $SUDO_HELPER "$TOP/btrfs" subvolume snapshot -r \