diff mbox

common: Fixes for testing NFS over IPv6

Message ID 1414611127-14246-1-git-send-email-Anna.Schumaker@Netapp.com (mailing list archive)
State New, archived
Headers show

Commit Message

Schumaker, Anna Oct. 29, 2014, 7:32 p.m. UTC
When testing NFS over IPv6, the user will set a $TEST_DEV of the form
[fe80::42]:/export.  The use of square brackets surrounding the IPv6
address is an accepted convention, but grep and awk think that our IPv6
address is actually a regex and tries to evaluate it instead.  The
result is that xfstests reports our filesystem "is busy or already
mounted".

This patch fixes the IPv6 problem by telling awk and grep to treat
$TEST_DEV as a fixed string rather than a regex.

Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
---
 common/rc | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Dave Chinner Oct. 29, 2014, 11:33 p.m. UTC | #1
On Wed, Oct 29, 2014 at 03:32:07PM -0400, Anna Schumaker wrote:
> When testing NFS over IPv6, the user will set a $TEST_DEV of the form
> [fe80::42]:/export.  The use of square brackets surrounding the IPv6
> address is an accepted convention, but grep and awk think that our IPv6
> address is actually a regex and tries to evaluate it instead.  The
> result is that xfstests reports our filesystem "is busy or already
> mounted".
> 
> This patch fixes the IPv6 problem by telling awk and grep to treat
> $TEST_DEV as a fixed string rather than a regex.
> 
> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>

Seems sensible, but it needs comments so that when someone copies
the code they know why it's using these sorts of matches.

Cheers,

Dave.
Schumaker, Anna Oct. 30, 2014, 12:42 p.m. UTC | #2
On 10/29/2014 07:33 PM, Dave Chinner wrote:
> On Wed, Oct 29, 2014 at 03:32:07PM -0400, Anna Schumaker wrote:
>> When testing NFS over IPv6, the user will set a $TEST_DEV of the form
>> [fe80::42]:/export.  The use of square brackets surrounding the IPv6
>> address is an accepted convention, but grep and awk think that our IPv6
>> address is actually a regex and tries to evaluate it instead.  The
>> result is that xfstests reports our filesystem "is busy or already
>> mounted".
>>
>> This patch fixes the IPv6 problem by telling awk and grep to treat
>> $TEST_DEV as a fixed string rather than a regex.
>>
>> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
> 
> Seems sensible, but it needs comments so that when someone copies
> the code they know why it's using these sorts of matches.

Sure.  I'll add that in, thanks!

> 
> Cheers,
> 
> Dave.
> 

--
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
diff mbox

Patch

diff --git a/common/rc b/common/rc
index 747cf72..5f24eb0 100644
--- a/common/rc
+++ b/common/rc
@@ -810,13 +810,13 @@  _df_device()
     fi
 
     $DF_PROG 2>/dev/null | $AWK_PROG -v what=$1 '
-        match($1,what) && NF==1 {
+        ($1==what) && (NF==1) {
             v=$1
             getline
             print v, $0
             exit
         }
-        match($1,what) {
+        ($1==what) {
             print
             exit
         }
@@ -1132,10 +1132,10 @@  _require_test()
     esac
 
     # mounted?
-    if _mount | grep -q $TEST_DEV
+    if _mount | grep -F -q $TEST_DEV
     then
         # if it's mounted, make sure its on $TEST_DIR
-        if ! _mount | grep $TEST_DEV | grep -q $TEST_DIR
+        if ! _mount | grep -F $TEST_DEV | grep -q $TEST_DIR
         then
             echo "\$TEST_DEV is mounted but not on \$TEST_DIR - aborting"
             exit 1