Re: [PATCH] common/rc: filter out extra mount error

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



On Fri, May 27, 2022 at 07:13:30PM +1000, Dave Chinner wrote:
> On Fri, May 27, 2022 at 12:21:29PM +0800, Zorro Lang wrote:
> > On Fri, May 27, 2022 at 09:45:06AM +1000, Dave Chinner wrote:
> > > On Thu, May 26, 2022 at 05:57:04PM +0800, Zorro Lang wrote:
> > > > The lastest mount command (from util-linux) merged below commit:
> > > >   79534c0d7e0f ("mount: add hint about dmesg(8) to error messages")
> > > > which brought in a new error output when mount fails.
> > > > 
> > > > That cause some cases (e.g. xfs/005) fail as:
> > > >   mount: Structure needs cleaning
> > > >          dmesg(1) may have more information after failed mount system call
> > > > 
> > > > More failed cases like generic/050, ext4/002, xfs/154, etc ...
> > > > 
> > > > Signed-off-by: Zorro Lang <zlang@xxxxxxxxxx>
> > > > ---
> > > > 
> > > > Due to _try_scratch_mount is call in many places, so I'm not sure if it's good
> > > > to filter this message in _try_scratch_mount. Maybe better to filter it in each
> > > > failed cases? Or write another function (e.g. _try_scratch_mount_fail) ?
> > > > Welcome review points.
> > > > 
> > > > Thanks,
> > > > Zorro
> > > > 
> > > >  common/rc | 3 ++-
> > > >  1 file changed, 2 insertions(+), 1 deletion(-)
> > > > 
> > > > diff --git a/common/rc b/common/rc
> > > > index 70a15f9c..67342760 100644
> > > > --- a/common/rc
> > > > +++ b/common/rc
> > > > @@ -335,7 +335,8 @@ _try_scratch_mount()
> > > >  		_overlay_scratch_mount $*
> > > >  		return $?
> > > >  	fi
> > > > -	_mount -t $FSTYP `_scratch_mount_options $*`
> > > > +	_mount -t $FSTYP `_scratch_mount_options $*`  2> \
> > > > +		>(grep -v "dmesg(1) may have more information after failed mount" >&2)
> > > 
> > > _filter_error_mount()?
> > 
> > OK, how about this change [1] ?
> > 
> > Do you think doing this "filter out" in _try_scratch_mount is better, or in
> > each case which expects mount failures in .out file (e.g. xfs/005) ? Or a new
> > _try_scratch_mount_fail() ?
> 
> I think you missed my point entirely. We already have a filter for this in
> common/filter because util-linux has changed it's failure message for
> EFSCORRUPTED several times:

Oh, sorry, I didn't notice that there's a _filter_error_mount. I thought you
hope to have one. Thanks, I'll change that function and try to find out all
test cases which use mount errors as golden image.

Thanks,
Zorro

> 
> # Filter a failed mount output due to EUCLEAN and USTALE, util-linux changed
> # the message several times.
> #
> # prior to v2.21:
> # mount: Structure needs cleaning
> # v2.21 to v2.29:
> # mount: mount <device> on <mountpoint> failed: Structure needs cleaning
> # v2.30 and later:
> # mount: <mountpoint>: mount(2) system call failed: Structure needs cleaning.
> #
> # This is also true for ESTALE error. So let's remove all the changing parts
> # and keep the 'prior to v2.21' format:
> # mount: Structure needs cleaning
> # mount: Stale file handle
> _filter_error_mount()
> {
>         sed -e "s/mount:\(.*failed:\)/mount:/" | _filter_ending_dot
> }
> 
> 
> So, capture and supress the new output via _filter_error_mount() and
> use that in the specific tests that are trying to mount a corrupt
> filesystem and capture that specific error message in their golden
> output....
> 
> Cheers,
> 
> Dave.
> 
> 
> -- 
> Dave Chinner
> david@xxxxxxxxxxxxx
> 




[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux