diff mbox series

[v2] generic/050: fix xfsquota configuration failures

Message ID 20191127163457.GL6212@magnolia (mailing list archive)
State New, archived
Headers show
Series [v2] generic/050: fix xfsquota configuration failures | expand

Commit Message

Darrick J. Wong Nov. 27, 2019, 4:34 p.m. UTC
From: Darrick J. Wong <darrick.wong@oracle.com>

The new 'xfsquota' configuration for generic/050 doesn't filter out
SCRATCH_MNT properly and seems to be missing an error message in the
golden output.  Fix both of these problems.

Fixes: e088479871 ("generic/050: Handle xfs quota special case with different output")
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
---
v2: don't try the touch if the mount fails
---
 tests/generic/050              |   12 +++++++-----
 tests/generic/050.out.xfsquota |    5 ++---
 2 files changed, 9 insertions(+), 8 deletions(-)

Comments

Jan Kara Nov. 28, 2019, 11:01 a.m. UTC | #1
On Wed 27-11-19 08:34:57, Darrick J. Wong wrote:
> From: Darrick J. Wong <darrick.wong@oracle.com>
> 
> The new 'xfsquota' configuration for generic/050 doesn't filter out
> SCRATCH_MNT properly and seems to be missing an error message in the
> golden output.  Fix both of these problems.
> 
> Fixes: e088479871 ("generic/050: Handle xfs quota special case with different output")
> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>

Thanks! The patch looks good to me. You can add:

Reviewed-by: Jan Kara <jack@suse.cz>

								Honza

> ---
> v2: don't try the touch if the mount fails
> ---
>  tests/generic/050              |   12 +++++++-----
>  tests/generic/050.out.xfsquota |    5 ++---
>  2 files changed, 9 insertions(+), 8 deletions(-)
> 
> diff --git a/tests/generic/050 b/tests/generic/050
> index cf2b9381..7eabc7a7 100755
> --- a/tests/generic/050
> +++ b/tests/generic/050
> @@ -58,9 +58,11 @@ blockdev --setro $SCRATCH_DEV
>  # Mount it, and make sure we can't write to it, and we can unmount it again
>  #
>  echo "mounting read-only block device:"
> -_try_scratch_mount 2>&1 | _filter_ro_mount
> -echo "touching file on read-only filesystem (should fail)"
> -touch $SCRATCH_MNT/foo 2>&1 | _filter_scratch
> +_try_scratch_mount 2>&1 | _filter_ro_mount | _filter_scratch
> +if [ "${PIPESTATUS[0]}" -eq 0 ]; then
> +	echo "touching file on read-only filesystem (should fail)"
> +	touch $SCRATCH_MNT/foo 2>&1 | _filter_scratch
> +fi
>  
>  #
>  # Apparently this used to be broken at some point:
> @@ -92,7 +94,7 @@ blockdev --setro $SCRATCH_DEV
>  # -o norecovery is used.
>  #
>  echo "mounting filesystem that needs recovery on a read-only device:"
> -_try_scratch_mount 2>&1 | _filter_ro_mount
> +_try_scratch_mount 2>&1 | _filter_ro_mount | _filter_scratch
>  
>  echo "unmounting read-only filesystem"
>  _scratch_unmount 2>&1 | _filter_scratch | _filter_ending_dot
> @@ -103,7 +105,7 @@ _scratch_unmount 2>&1 | _filter_scratch | _filter_ending_dot
>  # data recovery hack.
>  #
>  echo "mounting filesystem with -o norecovery on a read-only device:"
> -_try_scratch_mount -o norecovery 2>&1 | _filter_ro_mount
> +_try_scratch_mount -o norecovery 2>&1 | _filter_ro_mount | _filter_scratch
>  echo "unmounting read-only filesystem"
>  _scratch_unmount 2>&1 | _filter_scratch | _filter_ending_dot
>  
> diff --git a/tests/generic/050.out.xfsquota b/tests/generic/050.out.xfsquota
> index f204bd2f..35d7bd68 100644
> --- a/tests/generic/050.out.xfsquota
> +++ b/tests/generic/050.out.xfsquota
> @@ -1,8 +1,7 @@
>  QA output created by 050
>  setting device read-only
>  mounting read-only block device:
> -mount: /mnt-scratch: permission denied
> -touching file on read-only filesystem (should fail)
> +mount: SCRATCH_MNT: permission denied
>  unmounting read-only filesystem
>  umount: SCRATCH_DEV: not mounted
>  setting device read-write
> @@ -17,7 +16,7 @@ mount: cannot mount device read-only
>  unmounting read-only filesystem
>  umount: SCRATCH_DEV: not mounted
>  mounting filesystem with -o norecovery on a read-only device:
> -mount: /mnt-scratch: permission denied
> +mount: SCRATCH_MNT: permission denied
>  unmounting read-only filesystem
>  umount: SCRATCH_DEV: not mounted
>  setting device read-write
Eryu Guan Dec. 1, 2019, 3:35 a.m. UTC | #2
On Wed, Nov 27, 2019 at 08:34:57AM -0800, Darrick J. Wong wrote:
> From: Darrick J. Wong <darrick.wong@oracle.com>
> 
> The new 'xfsquota' configuration for generic/050 doesn't filter out
> SCRATCH_MNT properly and seems to be missing an error message in the
> golden output.  Fix both of these problems.
> 
> Fixes: e088479871 ("generic/050: Handle xfs quota special case with different output")
> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>

Thanks for the fix! And sorry for not noticing such test failure. I did
test xfs/050 but apparently I forget to enable xfsquota..

Thanks!
Eryu
> ---
> v2: don't try the touch if the mount fails
> ---
>  tests/generic/050              |   12 +++++++-----
>  tests/generic/050.out.xfsquota |    5 ++---
>  2 files changed, 9 insertions(+), 8 deletions(-)
> 
> diff --git a/tests/generic/050 b/tests/generic/050
> index cf2b9381..7eabc7a7 100755
> --- a/tests/generic/050
> +++ b/tests/generic/050
> @@ -58,9 +58,11 @@ blockdev --setro $SCRATCH_DEV
>  # Mount it, and make sure we can't write to it, and we can unmount it again
>  #
>  echo "mounting read-only block device:"
> -_try_scratch_mount 2>&1 | _filter_ro_mount
> -echo "touching file on read-only filesystem (should fail)"
> -touch $SCRATCH_MNT/foo 2>&1 | _filter_scratch
> +_try_scratch_mount 2>&1 | _filter_ro_mount | _filter_scratch
> +if [ "${PIPESTATUS[0]}" -eq 0 ]; then
> +	echo "touching file on read-only filesystem (should fail)"
> +	touch $SCRATCH_MNT/foo 2>&1 | _filter_scratch
> +fi
>  
>  #
>  # Apparently this used to be broken at some point:
> @@ -92,7 +94,7 @@ blockdev --setro $SCRATCH_DEV
>  # -o norecovery is used.
>  #
>  echo "mounting filesystem that needs recovery on a read-only device:"
> -_try_scratch_mount 2>&1 | _filter_ro_mount
> +_try_scratch_mount 2>&1 | _filter_ro_mount | _filter_scratch
>  
>  echo "unmounting read-only filesystem"
>  _scratch_unmount 2>&1 | _filter_scratch | _filter_ending_dot
> @@ -103,7 +105,7 @@ _scratch_unmount 2>&1 | _filter_scratch | _filter_ending_dot
>  # data recovery hack.
>  #
>  echo "mounting filesystem with -o norecovery on a read-only device:"
> -_try_scratch_mount -o norecovery 2>&1 | _filter_ro_mount
> +_try_scratch_mount -o norecovery 2>&1 | _filter_ro_mount | _filter_scratch
>  echo "unmounting read-only filesystem"
>  _scratch_unmount 2>&1 | _filter_scratch | _filter_ending_dot
>  
> diff --git a/tests/generic/050.out.xfsquota b/tests/generic/050.out.xfsquota
> index f204bd2f..35d7bd68 100644
> --- a/tests/generic/050.out.xfsquota
> +++ b/tests/generic/050.out.xfsquota
> @@ -1,8 +1,7 @@
>  QA output created by 050
>  setting device read-only
>  mounting read-only block device:
> -mount: /mnt-scratch: permission denied
> -touching file on read-only filesystem (should fail)
> +mount: SCRATCH_MNT: permission denied
>  unmounting read-only filesystem
>  umount: SCRATCH_DEV: not mounted
>  setting device read-write
> @@ -17,7 +16,7 @@ mount: cannot mount device read-only
>  unmounting read-only filesystem
>  umount: SCRATCH_DEV: not mounted
>  mounting filesystem with -o norecovery on a read-only device:
> -mount: /mnt-scratch: permission denied
> +mount: SCRATCH_MNT: permission denied
>  unmounting read-only filesystem
>  umount: SCRATCH_DEV: not mounted
>  setting device read-write
diff mbox series

Patch

diff --git a/tests/generic/050 b/tests/generic/050
index cf2b9381..7eabc7a7 100755
--- a/tests/generic/050
+++ b/tests/generic/050
@@ -58,9 +58,11 @@  blockdev --setro $SCRATCH_DEV
 # Mount it, and make sure we can't write to it, and we can unmount it again
 #
 echo "mounting read-only block device:"
-_try_scratch_mount 2>&1 | _filter_ro_mount
-echo "touching file on read-only filesystem (should fail)"
-touch $SCRATCH_MNT/foo 2>&1 | _filter_scratch
+_try_scratch_mount 2>&1 | _filter_ro_mount | _filter_scratch
+if [ "${PIPESTATUS[0]}" -eq 0 ]; then
+	echo "touching file on read-only filesystem (should fail)"
+	touch $SCRATCH_MNT/foo 2>&1 | _filter_scratch
+fi
 
 #
 # Apparently this used to be broken at some point:
@@ -92,7 +94,7 @@  blockdev --setro $SCRATCH_DEV
 # -o norecovery is used.
 #
 echo "mounting filesystem that needs recovery on a read-only device:"
-_try_scratch_mount 2>&1 | _filter_ro_mount
+_try_scratch_mount 2>&1 | _filter_ro_mount | _filter_scratch
 
 echo "unmounting read-only filesystem"
 _scratch_unmount 2>&1 | _filter_scratch | _filter_ending_dot
@@ -103,7 +105,7 @@  _scratch_unmount 2>&1 | _filter_scratch | _filter_ending_dot
 # data recovery hack.
 #
 echo "mounting filesystem with -o norecovery on a read-only device:"
-_try_scratch_mount -o norecovery 2>&1 | _filter_ro_mount
+_try_scratch_mount -o norecovery 2>&1 | _filter_ro_mount | _filter_scratch
 echo "unmounting read-only filesystem"
 _scratch_unmount 2>&1 | _filter_scratch | _filter_ending_dot
 
diff --git a/tests/generic/050.out.xfsquota b/tests/generic/050.out.xfsquota
index f204bd2f..35d7bd68 100644
--- a/tests/generic/050.out.xfsquota
+++ b/tests/generic/050.out.xfsquota
@@ -1,8 +1,7 @@ 
 QA output created by 050
 setting device read-only
 mounting read-only block device:
-mount: /mnt-scratch: permission denied
-touching file on read-only filesystem (should fail)
+mount: SCRATCH_MNT: permission denied
 unmounting read-only filesystem
 umount: SCRATCH_DEV: not mounted
 setting device read-write
@@ -17,7 +16,7 @@  mount: cannot mount device read-only
 unmounting read-only filesystem
 umount: SCRATCH_DEV: not mounted
 mounting filesystem with -o norecovery on a read-only device:
-mount: /mnt-scratch: permission denied
+mount: SCRATCH_MNT: permission denied
 unmounting read-only filesystem
 umount: SCRATCH_DEV: not mounted
 setting device read-write