diff mbox

shared/032 is broken on Fedora

Message ID 54DB35F0.1010203@plexistor.com (mailing list archive)
State New, archived
Headers show

Commit Message

Boaz Harrosh Feb. 11, 2015, 10:58 a.m. UTC
This is not the proper patch just to show a working version for Fedora. But I think
it now breaks the other ARCHs.

What happens is that the output of ${MKFS_PROG}.* is:
	/usr/sbin/mkfs.bfs /usr/sbin/mkfs.btrfs /usr/sbin/mkfs.cramfs /usr/sbin/mkfs.ext2 /usr/sbin/mkfs.ext3 /usr/sbin/mkfs.ext4 ...

So in Fedora sbin has moved to /usr/... and therefor the sed below fails.
My sed foo is not good enough. How to support both places for sbin?

Also why the "_supported_fs xfs btrfs"? So if all those other mkfs.* that are destructive to
foreign filesystem, should the test not fail instead of skipped?
Maybe if the maintainers of all these filesystems day in and day out running xfstests and
see shared/032 failing, they might decide to fix their evil ways. Instead of skipping the
test and the said maintainer just ignores it?

Thanks
Boaz

---
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Boaz Harrosh Feb. 11, 2015, 1:10 p.m. UTC | #1
On 02/11/2015 12:58 PM, Boaz Harrosh wrote:
> 
> This is not the proper patch just to show a working version for Fedora. But I think
> it now breaks the other ARCHs.
> 
> What happens is that the output of ${MKFS_PROG}.* is:
> 	/usr/sbin/mkfs.bfs /usr/sbin/mkfs.btrfs /usr/sbin/mkfs.cramfs /usr/sbin/mkfs.ext2 /usr/sbin/mkfs.ext3 /usr/sbin/mkfs.ext4 ...
> 
> So in Fedora sbin has moved to /usr/... and therefor the sed below fails.
> My sed foo is not good enough. How to support both places for sbin?
> 
> Also why the "_supported_fs xfs btrfs"? So if all those other mkfs.* that are destructive to
> foreign filesystem, should the test not fail instead of skipped?
> Maybe if the maintainers of all these filesystems day in and day out running xfstests and
> see shared/032 failing, they might decide to fix their evil ways. Instead of skipping the
> test and the said maintainer just ignores it?
> 

I was thinking about fixing this test, say for ext4. And came to the conclusion.

Should I not hack and fix the mount command? This problem is common to all
filesystems. Why do we want to force all mkfs.* maintainers to link with some
global library that checks all registered FSs and see existence of an FS, something
like blkid.

Why not link that library to the driver "mount" command, and not call the
mkfs.$type in question at all unless say --force flag is supplied.

This way I fix this test for all FSs past and future.
(Should I send a patch?)

Thanks
Boaz

--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Eric Sandeen Feb. 11, 2015, 4:50 p.m. UTC | #2
(cc: fstests list) 

On 2/11/15 4:58 AM, Boaz Harrosh wrote:
> 
> This is not the proper patch just to show a working version for Fedora. But I think
> it now breaks the other ARCHs.
> 
> What happens is that the output of ${MKFS_PROG}.* is:
> 	/usr/sbin/mkfs.bfs /usr/sbin/mkfs.btrfs /usr/sbin/mkfs.cramfs /usr/sbin/mkfs.ext2 /usr/sbin/mkfs.ext3 /usr/sbin/mkfs.ext4 ...
> 
> So in Fedora sbin has moved to /usr/... and therefor the sed below fails.
> My sed foo is not good enough. How to support both places for sbin?

All we really want is the mkfs filesystem type, i.e. the ${FS} in mkfs.${FS}

So 

sed -e 's/.*mkfs.//g'

should work,

awk -F . '{print $NF}' would work too

$ cat mkfses 
/usr/sbin/mkfs.ext4
/sbin/mkfs.ext4

$ cat mkfses | awk -F . '{print $NF}'
ext4
ext4

$ cat mkfses | sed -e 's/.*mkfs.//g'
ext4
ext4

> Also why the "_supported_fs xfs btrfs"? So if all those other mkfs.* that are destructive to
> foreign filesystem, should the test not fail instead of skipped?

mkfs.xfs & mkfs.btrfs are the only filesystems I know of which check for
an existing format before proceeding, so they are the only ones
tested.  Any other fs is skipped, because they are not designed to
do what this test is... testing for.

> Maybe if the maintainers of all these filesystems day in and day out running xfstests and
> see shared/032 failing, they might decide to fix their evil ways. Instead of skipping the
> test and the said maintainer just ignores it?

I think it's just a design decision.  There's no actual requirement to warn about overwriting
a format, so not doing so is not a failure or a bug, IMHO.

-Eric

> Thanks
> Boaz
> 
> ---
> diff --git a/tests/shared/032 b/tests/shared/032
> index a410003..726e6b4 100755
> --- a/tests/shared/032
> +++ b/tests/shared/032
> @@ -37,8 +37,8 @@ rm -f $seqres.full
>  . ./common/filter
>  
>  # real QA test starts here
> -_supported_fs xfs btrfs
> +# _supported_fs xfs btrfs
>  _supported_os Linux
>  
>  _require_scratch_nocheck
>  _require_no_large_scratch_dev
> @@ -49,8 +49,7 @@ if [ "$FSTYP" == "btrfs" ]; then
>  		_notrun "Installed mkfs.btrfs does not support -f option"
>  fi
>  
> -echo "Silence is golden."
> -for fs in `echo ${MKFS_PROG}.* | sed -e 's/.sbin.mkfs.//g'`
> +for fs in `echo ${MKFS_PROG}.* | sed -e 's/.usr\/sbin.mkfs.//g'`
>  do
>  	preop=""	# for special input needs
>  	preargs=""	# for any special pre-device options
> 
> _______________________________________________
> xfs mailing list
> xfs@oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Eric Sandeen Feb. 11, 2015, 4:55 p.m. UTC | #3
On 2/11/15 10:50 AM, Eric Sandeen wrote:
> (cc: fstests list) 
> 
> On 2/11/15 4:58 AM, Boaz Harrosh wrote:
>>
>> This is not the proper patch just to show a working version for Fedora. But I think
>> it now breaks the other ARCHs.
>>
>> What happens is that the output of ${MKFS_PROG}.* is:
>> 	/usr/sbin/mkfs.bfs /usr/sbin/mkfs.btrfs /usr/sbin/mkfs.cramfs /usr/sbin/mkfs.ext2 /usr/sbin/mkfs.ext3 /usr/sbin/mkfs.ext4 ...
>>
>> So in Fedora sbin has moved to /usr/... and therefor the sed below fails.
>> My sed foo is not good enough. How to support both places for sbin?
> 
> All we really want is the mkfs filesystem type, i.e. the ${FS} in mkfs.${FS}
> 
> So 
> 
> sed -e 's/.*mkfs.//g'

Wait, no, I misunderstood what it was working on ;)  Hang on ...

-Eric

--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Lukas Czerner Feb. 11, 2015, 5:23 p.m. UTC | #4
On Wed, 11 Feb 2015, Eric Sandeen wrote:

> Date: Wed, 11 Feb 2015 10:50:53 -0600
> From: Eric Sandeen <sandeen@sandeen.net>
> To: Boaz Harrosh <boaz@plexistor.com>, Dave Chinner <david@fromorbit.com>,
>     xfs@oss.sgi.com, linux-fsdevel <linux-fsdevel@vger.kernel.org>,
>     fstests@vger.kernel.org
> Subject: Re: shared/032 is broken on Fedora
> 
> (cc: fstests list) 
> 
> On 2/11/15 4:58 AM, Boaz Harrosh wrote:
> > 
> > This is not the proper patch just to show a working version for Fedora. But I think
> > it now breaks the other ARCHs.
> > 
> > What happens is that the output of ${MKFS_PROG}.* is:
> > 	/usr/sbin/mkfs.bfs /usr/sbin/mkfs.btrfs /usr/sbin/mkfs.cramfs /usr/sbin/mkfs.ext2 /usr/sbin/mkfs.ext3 /usr/sbin/mkfs.ext4 ...
> > 
> > So in Fedora sbin has moved to /usr/... and therefor the sed below fails.
> > My sed foo is not good enough. How to support both places for sbin?
> 
> All we really want is the mkfs filesystem type, i.e. the ${FS} in mkfs.${FS}
> 
> So 
> 
> sed -e 's/.*mkfs.//g'
> 
> should work,
> 
> awk -F . '{print $NF}' would work too
> 
> $ cat mkfses 
> /usr/sbin/mkfs.ext4
> /sbin/mkfs.ext4
> 
> $ cat mkfses | awk -F . '{print $NF}'
> ext4
> ext4
> 
> $ cat mkfses | sed -e 's/.*mkfs.//g'
> ext4
> ext4
> 
> > Also why the "_supported_fs xfs btrfs"? So if all those other mkfs.* that are destructive to
> > foreign filesystem, should the test not fail instead of skipped?
> 
> mkfs.xfs & mkfs.btrfs are the only filesystems I know of which check for
> an existing format before proceeding, so they are the only ones
> tested.  Any other fs is skipped, because they are not designed to
> do what this test is... testing for.

First of all it's not only about other file system, but any common
signatures which the test is ignoring.

Moreover ext4 is looking for existing signatures, but will not complain
in case it's run without the console attached to it so it does not break
existing scripts.

> 
> > Maybe if the maintainers of all these filesystems day in and day out running xfstests and
> > see shared/032 failing, they might decide to fix their evil ways. Instead of skipping the
> > test and the said maintainer just ignores it?
> 
> I think it's just a design decision.  There's no actual requirement to warn about overwriting
> a format, so not doing so is not a failure or a bug, IMHO.

Exactly, also as I said above mkfs.extN is checking for signatures,
but at the same time we can not break scripts people has been using
for lifetime.

-Lukas

> 
> -Eric
> 
> > Thanks
> > Boaz
> > 
> > ---
> > diff --git a/tests/shared/032 b/tests/shared/032
> > index a410003..726e6b4 100755
> > --- a/tests/shared/032
> > +++ b/tests/shared/032
> > @@ -37,8 +37,8 @@ rm -f $seqres.full
> >  . ./common/filter
> >  
> >  # real QA test starts here
> > -_supported_fs xfs btrfs
> > +# _supported_fs xfs btrfs
> >  _supported_os Linux
> >  
> >  _require_scratch_nocheck
> >  _require_no_large_scratch_dev
> > @@ -49,8 +49,7 @@ if [ "$FSTYP" == "btrfs" ]; then
> >  		_notrun "Installed mkfs.btrfs does not support -f option"
> >  fi
> >  
> > -echo "Silence is golden."
> > -for fs in `echo ${MKFS_PROG}.* | sed -e 's/.sbin.mkfs.//g'`
> > +for fs in `echo ${MKFS_PROG}.* | sed -e 's/.usr\/sbin.mkfs.//g'`
> >  do
> >  	preop=""	# for special input needs
> >  	preargs=""	# for any special pre-device options
> > 
> > _______________________________________________
> > xfs mailing list
> > xfs@oss.sgi.com
> > http://oss.sgi.com/mailman/listinfo/xfs
> > 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe fstests" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/tests/shared/032 b/tests/shared/032
index a410003..726e6b4 100755
--- a/tests/shared/032
+++ b/tests/shared/032
@@ -37,8 +37,8 @@  rm -f $seqres.full
 . ./common/filter
 
 # real QA test starts here
-_supported_fs xfs btrfs
+# _supported_fs xfs btrfs
 _supported_os Linux
 
 _require_scratch_nocheck
 _require_no_large_scratch_dev
@@ -49,8 +49,7 @@  if [ "$FSTYP" == "btrfs" ]; then
 		_notrun "Installed mkfs.btrfs does not support -f option"
 fi
 
-echo "Silence is golden."
-for fs in `echo ${MKFS_PROG}.* | sed -e 's/.sbin.mkfs.//g'`
+for fs in `echo ${MKFS_PROG}.* | sed -e 's/.usr\/sbin.mkfs.//g'`
 do
 	preop=""	# for special input needs
 	preargs=""	# for any special pre-device options