All of lore.kernel.org
 help / color / mirror / Atom feed
From: Omer Zilberberg <omzg@plexistor.com>
To: Dave Chinner <david@fromorbit.com>
Cc: Eryu Guan <eguan@redhat.com>, Steve French <smfrench@gmail.com>,
	fstests@vger.kernel.org,
	"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>,
	"linux-cifs@vger.kernel.org" <linux-cifs@vger.kernel.org>,
	Weston Andros Adamson <dros@primarydata.com>
Subject: Re: [PATCH v2 1/5] common: re-enable tests that require scratch dev on NFS
Date: Tue, 18 Nov 2014 18:16:28 +0200	[thread overview]
Message-ID: <546B70DC.2060502@plexistor.com> (raw)
In-Reply-To: <20141117202207.GN23575@dastard>

On 11/17/2014 10:22 PM, Dave Chinner wrote:
> On Mon, Nov 17, 2014 at 04:53:50PM +0200, Omer Zilberberg wrote:
>>> Another FYI: we can actually test any filesystem without a scratch
>>> device configured:
>>>
>>> $ sudo TEST_DEV=/dev/vda TEST_DIR=/mnt/test ./check generic/120
>>> FSTYP         -- xfs (non-debug)
>>> PLATFORM      -- Linux/x86_64 test2 3.18.0-rc2-dgc+
>>>
>>> generic/120 16s ... [not run] this test requires a valid $SCRATCH_DEV
>>> Not run: generic/120
>>> Passed all 0 tests
>>> $
>>
>> Please note that since commit 83ef157d, that is no longer true, because _require_test calls _is_block_dev with empty parameter, which prints usage:
>> $ sudo TEST_DEV=/dev/sda TEST_DIR=/mnt/dev0  ./check generic/001
>> FSTYP         -- ext4
>> PLATFORM      -- Linux/x86_64 testvm 3.17.0
>>
>> generic/001 7s ... - output mismatch (see /opt/xfstests/results//generic/001.out.bad)
>>     --- tests/generic/001.out   2014-09-10 11:04:44.249185592 +0300
>>     +++ /opt/xfstests/results//generic/001.out.bad      2014-11-17 15:14:12.380061760 +0200
>>     @@ -1,4 +1,5 @@
>>      QA output created by 001
>>     +Usage: _is_block_dev dev
>>      cleanup
>>      setup ....................................
>>      iter 1 chain ... check ....................................
>>     ...
>>     (Run 'diff -u tests/generic/001.out /opt/xfstests/results//generic/001.out.bad'  to see the entire diff)
>> Ran: generic/001
>> Failures: generic/001
>> Failed 1 of 1 tests
>>
>> Here's a patch to fix that:
>> ----
>> Subject: [PATCH] _required_test: removed unneeded test for scratch_dev
>>
>> testing for scratch_dev in _required_test is unnecessary, since it is
>> not required for these tests. Furthermore, if a scratch_dev is not given,
>> all tests which are supposed to pass on test_dev fail, because
>> _is_block_dev is given an empty string as scratch_dev, and prints usage.
> 
> I'm beginning to sound like a broken record. Why isn't this *invalid
> config check* being done in the config parsing rather than on every
> test that requires a scratch or test device?
> 
> i.e. removing the check is not the correct fix - checking it during
> config parsing means none of these checks need to be done in
> _require_test, nor in _require_scratch_nocheck.
> 
> i.e. in get_next_config() we already know the FSTYP, so we should
> be checking that:
> 
> 	a) TEST_DEV is valid for fstyp
> 	b) SCRATCH_DEV (if configured) is valid for fstyp
> 	c) TEST_DEV != SCRATCH_DEV if they both exist and fstyp
> 	   indicates they should be block devices
> 
> And then we can pretty much assume that they are valid everywhere
> else, and _require_scratch_nocheck() simply needs to check for a
> non-empty string...
> 
>> Signed-off-by: Omer Zilberberg <omzg@plexistor.com>
>> ---
>>  common/rc | 6 +-----
>>  1 file changed, 1 insertion(+), 5 deletions(-)
>>
>> diff --git a/common/rc b/common/rc
>> index d5e3aff..b863808 100644
>> --- a/common/rc
>> +++ b/common/rc
>> @@ -1104,7 +1104,7 @@ _require_scratch()
>>  }
>>  
>>  
>> -# this test needs a test partition - check we're ok & unmount it
>> +# this test needs a test partition - check we're ok & mount if necessary
>>  #
>>  _require_test()
>>  {
>> @@ -1138,10 +1138,6 @@ _require_test()
>>                  then
>>                      _notrun "this test requires a valid \$TEST_DEV"
>>                  fi
>> -                if [ "`_is_block_dev $SCRATCH_DEV`" = "`_is_block_dev $TEST_DEV`" ]
>> -                then
>> -                    _notrun "this test requires a valid \$TEST_DEV"
>> -                fi
>>                 if [ ! -d "$TEST_DIR" ]
>>                 then
>>                      _notrun "this test requires a valid \$TEST_DIR"
> 
> The patch is whitespace damaged. Please read:
> 
> https://www.kernel.org/doc/Documentation/email-clients.txt

Here's the patch resent with whitespace fixed, at least as a temporary solution...
----
Subject: [PATCH] _required_test: removed unneeded test for scratch_dev

testing for scratch_dev in _required_test is unnecessary, since it is
not required for these tests. Furthermore, if a scratch_dev is not given,
all tests which are supposed to pass on test_dev fail, because
_is_block_dev is given an empty string as scratch_dev, and prints usage.

Signed-off-by: Omer Zilberberg <omzg@plexistor.com>
---
 common/rc | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/common/rc b/common/rc
index d5e3aff..b863808 100644
--- a/common/rc
+++ b/common/rc
@@ -1104,7 +1104,7 @@ _require_scratch()
 }
 
 
-# this test needs a test partition - check we're ok & unmount it
+# this test needs a test partition - check we're ok & mount if necessary
 #
 _require_test()
 {
@@ -1138,10 +1138,6 @@ _require_test()
 		 then
 		     _notrun "this test requires a valid \$TEST_DEV"
 		 fi
-		 if [ "`_is_block_dev $SCRATCH_DEV`" = "`_is_block_dev $TEST_DEV`" ]
-		 then
-		     _notrun "this test requires a valid \$TEST_DEV"
-		 fi
 		if [ ! -d "$TEST_DIR" ]
 		then
 		     _notrun "this test requires a valid \$TEST_DIR"


WARNING: multiple messages have this Message-ID (diff)
From: Omer Zilberberg <omzg-/8YdC2HfS5554TAoqtyWWQ@public.gmane.org>
To: Dave Chinner <david-FqsqvQoI3Ljby3iVrkZq2A@public.gmane.org>
Cc: Eryu Guan <eguan-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	Steve French <smfrench-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	fstests-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	"linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Weston Andros Adamson
	<dros-7I+n7zu2hftEKMMhf/gKZA@public.gmane.org>
Subject: Re: [PATCH v2 1/5] common: re-enable tests that require scratch dev on NFS
Date: Tue, 18 Nov 2014 18:16:28 +0200	[thread overview]
Message-ID: <546B70DC.2060502@plexistor.com> (raw)
In-Reply-To: <20141117202207.GN23575@dastard>

On 11/17/2014 10:22 PM, Dave Chinner wrote:
> On Mon, Nov 17, 2014 at 04:53:50PM +0200, Omer Zilberberg wrote:
>>> Another FYI: we can actually test any filesystem without a scratch
>>> device configured:
>>>
>>> $ sudo TEST_DEV=/dev/vda TEST_DIR=/mnt/test ./check generic/120
>>> FSTYP         -- xfs (non-debug)
>>> PLATFORM      -- Linux/x86_64 test2 3.18.0-rc2-dgc+
>>>
>>> generic/120 16s ... [not run] this test requires a valid $SCRATCH_DEV
>>> Not run: generic/120
>>> Passed all 0 tests
>>> $
>>
>> Please note that since commit 83ef157d, that is no longer true, because _require_test calls _is_block_dev with empty parameter, which prints usage:
>> $ sudo TEST_DEV=/dev/sda TEST_DIR=/mnt/dev0  ./check generic/001
>> FSTYP         -- ext4
>> PLATFORM      -- Linux/x86_64 testvm 3.17.0
>>
>> generic/001 7s ... - output mismatch (see /opt/xfstests/results//generic/001.out.bad)
>>     --- tests/generic/001.out   2014-09-10 11:04:44.249185592 +0300
>>     +++ /opt/xfstests/results//generic/001.out.bad      2014-11-17 15:14:12.380061760 +0200
>>     @@ -1,4 +1,5 @@
>>      QA output created by 001
>>     +Usage: _is_block_dev dev
>>      cleanup
>>      setup ....................................
>>      iter 1 chain ... check ....................................
>>     ...
>>     (Run 'diff -u tests/generic/001.out /opt/xfstests/results//generic/001.out.bad'  to see the entire diff)
>> Ran: generic/001
>> Failures: generic/001
>> Failed 1 of 1 tests
>>
>> Here's a patch to fix that:
>> ----
>> Subject: [PATCH] _required_test: removed unneeded test for scratch_dev
>>
>> testing for scratch_dev in _required_test is unnecessary, since it is
>> not required for these tests. Furthermore, if a scratch_dev is not given,
>> all tests which are supposed to pass on test_dev fail, because
>> _is_block_dev is given an empty string as scratch_dev, and prints usage.
> 
> I'm beginning to sound like a broken record. Why isn't this *invalid
> config check* being done in the config parsing rather than on every
> test that requires a scratch or test device?
> 
> i.e. removing the check is not the correct fix - checking it during
> config parsing means none of these checks need to be done in
> _require_test, nor in _require_scratch_nocheck.
> 
> i.e. in get_next_config() we already know the FSTYP, so we should
> be checking that:
> 
> 	a) TEST_DEV is valid for fstyp
> 	b) SCRATCH_DEV (if configured) is valid for fstyp
> 	c) TEST_DEV != SCRATCH_DEV if they both exist and fstyp
> 	   indicates they should be block devices
> 
> And then we can pretty much assume that they are valid everywhere
> else, and _require_scratch_nocheck() simply needs to check for a
> non-empty string...
> 
>> Signed-off-by: Omer Zilberberg <omzg-/8YdC2HfS5554TAoqtyWWQ@public.gmane.org>
>> ---
>>  common/rc | 6 +-----
>>  1 file changed, 1 insertion(+), 5 deletions(-)
>>
>> diff --git a/common/rc b/common/rc
>> index d5e3aff..b863808 100644
>> --- a/common/rc
>> +++ b/common/rc
>> @@ -1104,7 +1104,7 @@ _require_scratch()
>>  }
>>  
>>  
>> -# this test needs a test partition - check we're ok & unmount it
>> +# this test needs a test partition - check we're ok & mount if necessary
>>  #
>>  _require_test()
>>  {
>> @@ -1138,10 +1138,6 @@ _require_test()
>>                  then
>>                      _notrun "this test requires a valid \$TEST_DEV"
>>                  fi
>> -                if [ "`_is_block_dev $SCRATCH_DEV`" = "`_is_block_dev $TEST_DEV`" ]
>> -                then
>> -                    _notrun "this test requires a valid \$TEST_DEV"
>> -                fi
>>                 if [ ! -d "$TEST_DIR" ]
>>                 then
>>                      _notrun "this test requires a valid \$TEST_DIR"
> 
> The patch is whitespace damaged. Please read:
> 
> https://www.kernel.org/doc/Documentation/email-clients.txt

Here's the patch resent with whitespace fixed, at least as a temporary solution...
----
Subject: [PATCH] _required_test: removed unneeded test for scratch_dev

testing for scratch_dev in _required_test is unnecessary, since it is
not required for these tests. Furthermore, if a scratch_dev is not given,
all tests which are supposed to pass on test_dev fail, because
_is_block_dev is given an empty string as scratch_dev, and prints usage.

Signed-off-by: Omer Zilberberg <omzg-/8YdC2HfS5554TAoqtyWWQ@public.gmane.org>
---
 common/rc | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/common/rc b/common/rc
index d5e3aff..b863808 100644
--- a/common/rc
+++ b/common/rc
@@ -1104,7 +1104,7 @@ _require_scratch()
 }
 
 
-# this test needs a test partition - check we're ok & unmount it
+# this test needs a test partition - check we're ok & mount if necessary
 #
 _require_test()
 {
@@ -1138,10 +1138,6 @@ _require_test()
 		 then
 		     _notrun "this test requires a valid \$TEST_DEV"
 		 fi
-		 if [ "`_is_block_dev $SCRATCH_DEV`" = "`_is_block_dev $TEST_DEV`" ]
-		 then
-		     _notrun "this test requires a valid \$TEST_DEV"
-		 fi
 		if [ ! -d "$TEST_DIR" ]
 		then
 		     _notrun "this test requires a valid \$TEST_DIR"

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

  reply	other threads:[~2014-11-18 16:16 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-31 17:03 [PATCH v2 0/5] re-enable tests that require scratch dev on NFS Eryu Guan
2014-10-31 17:03 ` [PATCH v2 1/5] common: " Eryu Guan
2014-11-10  2:12   ` Dave Chinner
2014-11-10  4:05     ` Eryu Guan
2014-11-12 18:36   ` Steve French
2014-11-12 18:36     ` Steve French
2014-11-13  3:33     ` Dave Chinner
2014-11-13  3:33       ` Dave Chinner
2014-11-14 17:02       ` Steve French
2014-11-14 17:02         ` Steve French
2014-11-15  5:35         ` Eryu Guan
2014-11-15  5:35           ` Eryu Guan
2014-11-17  5:41           ` Dave Chinner
2014-11-17  5:41             ` Dave Chinner
2014-11-17  6:06             ` Eryu Guan
2014-11-17  6:06               ` Eryu Guan
2014-11-17  6:54               ` Dave Chinner
2014-11-17  6:54                 ` Dave Chinner
2014-11-17 14:53                 ` Omer Zilberberg
2014-11-17 14:53                   ` Omer Zilberberg
2014-11-17 20:22                   ` Dave Chinner
2014-11-17 20:22                     ` Dave Chinner
2014-11-18 16:16                     ` Omer Zilberberg [this message]
2014-11-18 16:16                       ` Omer Zilberberg
2014-11-17  5:34         ` Dave Chinner
2014-11-17  5:34           ` Dave Chinner
2014-10-31 17:03 ` [PATCH v2 2/5] common: add _require_block_device() helper Eryu Guan
2014-10-31 17:03 ` [PATCH v2 3/5] common: skip atime related tests on NFS Eryu Guan
2014-10-31 17:03 ` [PATCH v2 4/5] common: use _scratch_mount helper in _require_relatime() Eryu Guan
2014-10-31 17:04 ` [PATCH v2 5/5] generic/277: add _require_attrs Eryu Guan
     [not found] ` <1414775040-4051-1-git-send-email-eguan-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-11-02 20:52   ` Fwd: [PATCH v2 0/5] re-enable tests that require scratch dev on NFS Steve French

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=546B70DC.2060502@plexistor.com \
    --to=omzg@plexistor.com \
    --cc=david@fromorbit.com \
    --cc=dros@primarydata.com \
    --cc=eguan@redhat.com \
    --cc=fstests@vger.kernel.org \
    --cc=linux-cifs@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=smfrench@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.