Linux-XFS Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH] generic/050: fix xfsquota configuration failures
@ 2019-11-27  4:15 Darrick J. Wong
  2019-11-27 12:06 ` Jan Kara
  0 siblings, 1 reply; 3+ messages in thread
From: Darrick J. Wong @ 2019-11-27  4:15 UTC (permalink / raw)
  To: Eryu Guan; +Cc: fstests, xfs, Jan Kara

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>
---
 tests/generic/050              |    6 +++---
 tests/generic/050.out.xfsquota |    5 +++--
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/tests/generic/050 b/tests/generic/050
index cf2b9381..6f536aff 100755
--- a/tests/generic/050
+++ b/tests/generic/050
@@ -58,7 +58,7 @@ 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
+_try_scratch_mount 2>&1 | _filter_ro_mount | _filter_scratch
 echo "touching file on read-only filesystem (should fail)"
 touch $SCRATCH_MNT/foo 2>&1 | _filter_scratch
 
@@ -92,7 +92,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 +103,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..10e395da 100644
--- a/tests/generic/050.out.xfsquota
+++ b/tests/generic/050.out.xfsquota
@@ -1,8 +1,9 @@
 QA output created by 050
 setting device read-only
 mounting read-only block device:
-mount: /mnt-scratch: permission denied
+mount: SCRATCH_MNT: permission denied
 touching file on read-only filesystem (should fail)
+touch: cannot touch 'SCRATCH_MNT/foo': Read-only file system
 unmounting read-only filesystem
 umount: SCRATCH_DEV: not mounted
 setting device read-write
@@ -17,7 +18,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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] generic/050: fix xfsquota configuration failures
  2019-11-27  4:15 [PATCH] generic/050: fix xfsquota configuration failures Darrick J. Wong
@ 2019-11-27 12:06 ` Jan Kara
  2019-11-27 15:41   ` Darrick J. Wong
  0 siblings, 1 reply; 3+ messages in thread
From: Jan Kara @ 2019-11-27 12:06 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: Eryu Guan, fstests, xfs, Jan Kara

On Tue 26-11-19 20:15:38, 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>

Umm, I can see how I messed up the SCRATCH_MNT filtering and didn't notice
- thanks for fixing that. But the error message should not be there. The
previous mount completely failed so we end up touching file on the parent
filesystem which succeeds (well, unless the parent filesystem is read-only
as well). So to avoid this obscure behavior, we should add something like
(untested):

diff --git a/tests/generic/050 b/tests/generic/050
index cf2b93814267..593e2e69bf9a 100755
--- a/tests/generic/050
+++ b/tests/generic/050
@@ -59,8 +59,10 @@ blockdev --setro $SCRATCH_DEV
 #
 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
+if [ "${PIPESTATUS[0]}" -eq 0 ]; then
+       echo "touching file on read-only filesystem (should fail)"
+       touch $SCRATCH_MNT/foo 2>&1 | _filter_scratch
+fi

and update xfsquota output accordingly...

								Honza
> @@ -1,8 +1,9 @@
>  QA output created by 050
>  setting device read-only
>  mounting read-only block device:
> -mount: /mnt-scratch: permission denied
> +mount: SCRATCH_MNT: permission denied
>  touching file on read-only filesystem (should fail)
> +touch: cannot touch 'SCRATCH_MNT/foo': Read-only file system
>  unmounting read-only filesystem
>  umount: SCRATCH_DEV: not mounted
>  setting device read-write
-- 
Jan Kara <jack@suse.com>
SUSE Labs, CR

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] generic/050: fix xfsquota configuration failures
  2019-11-27 12:06 ` Jan Kara
@ 2019-11-27 15:41   ` Darrick J. Wong
  0 siblings, 0 replies; 3+ messages in thread
From: Darrick J. Wong @ 2019-11-27 15:41 UTC (permalink / raw)
  To: Jan Kara; +Cc: Eryu Guan, fstests, xfs

On Wed, Nov 27, 2019 at 01:06:41PM +0100, Jan Kara wrote:
> On Tue 26-11-19 20:15:38, 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>
> 
> Umm, I can see how I messed up the SCRATCH_MNT filtering and didn't notice
> - thanks for fixing that. But the error message should not be there. The
> previous mount completely failed so we end up touching file on the parent
> filesystem which succeeds (well, unless the parent filesystem is read-only
> as well).

Heh, yes, I deliberately make the test dir and scratch mounts readonly
so that mount failures show up as errors.  Usually I catch it, but this
time I saw the previous line and was too hasty.

> So to avoid this obscure behavior, we should add something like
> (untested):
> 
> diff --git a/tests/generic/050 b/tests/generic/050
> index cf2b93814267..593e2e69bf9a 100755
> --- a/tests/generic/050
> +++ b/tests/generic/050
> @@ -59,8 +59,10 @@ blockdev --setro $SCRATCH_DEV
>  #
>  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
> +if [ "${PIPESTATUS[0]}" -eq 0 ]; then
> +       echo "touching file on read-only filesystem (should fail)"
> +       touch $SCRATCH_MNT/foo 2>&1 | _filter_scratch
> +fi
> 
> and update xfsquota output accordingly...

Ok.  I'll do that.

--D

> 
> 								Honza
> > @@ -1,8 +1,9 @@
> >  QA output created by 050
> >  setting device read-only
> >  mounting read-only block device:
> > -mount: /mnt-scratch: permission denied
> > +mount: SCRATCH_MNT: permission denied
> >  touching file on read-only filesystem (should fail)
> > +touch: cannot touch 'SCRATCH_MNT/foo': Read-only file system
> >  unmounting read-only filesystem
> >  umount: SCRATCH_DEV: not mounted
> >  setting device read-write
> -- 
> Jan Kara <jack@suse.com>
> SUSE Labs, CR

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-27  4:15 [PATCH] generic/050: fix xfsquota configuration failures Darrick J. Wong
2019-11-27 12:06 ` Jan Kara
2019-11-27 15:41   ` Darrick J. Wong

Linux-XFS Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-xfs/0 linux-xfs/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-xfs linux-xfs/ https://lore.kernel.org/linux-xfs \
		linux-xfs@vger.kernel.org
	public-inbox-index linux-xfs

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-xfs


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git