Quoting CAI Qian ([EMAIL PROTECTED]):
> Hi,
> 
> --- Veerendra <[EMAIL PROTECTED]> wrote:
> 
> > This patch addresses the comments if any, on the below files
> > 
> > child_propogate.sh - Propagates the contents of the child sysfs to
> > parentNS.
> > parent_share.sh - Creates a sharable volume of the sysfs for child to
> > access.
> > parent_view.sh - Parent NS verifies the contents of the child sysfs.
> > sysfsview.c - Basic program to create namespaces for sysfs checking
> > 
> > 
> > 
> > > 
> > 
> > Signed off by Veerendra C <[EMAIL PROTECTED]>
> > ACKed by Serge Hallyn <[EMAIL PROTECTED]>
> > 
> > 
> > Renamed the file to child_propagate.sh to address the spelling change
> > !
> > --- containers.old/netns/child_propogate.sh 2008-09-08
> > 17:18:28.000000000 +0530
> > +++ containers/netns/child_propogate.sh     1970-01-01 05:30:00.000000000
> > +0530
> > @@ -1,47 +0,0 @@
> > -#!/bin/bash
> > -# This script propogates the child sysfs contents to be visible for
> > parent
> > -# Also it will check the parent sysfs contents are visible.
> > -#Propogate child sys directory
> > -
> > -# The test case ID, the test case count and the total number of test
> > case
> > -TCID=${TCID:-child_propogate.sh}
> > -TST_TOTAL=1
> > -TST_COUNT=1
> > -#set -x
> > -export TCID
> > -export TST_COUNT
> > -export TST_TOTAL
> > -
> > -    ret=0
> > -    PROPOGATE=`cat /tmp/FIFO4`
> > -    debug "INFO: CHILD propopagated.."
> > -    mount -t sysfs none /sys || ret=1
> > -    mkdir -p /tmp/mnt/sys || ret=1
> > -    mount --bind /sys /tmp/mnt/sys > /dev/null || ret=1
> > -    
> > -    if [ $ret -ne 0 ]; then
> > -        status=1
> > -        tst_resm TFAIL "error while doing bind mount"
> > -        exit $status
> > -    fi
> > -    #Capture childs sysfs contents
> > -    ls /sys/class/net > /tmp/child_sysfs
> > -    echo propogated > /tmp/FIFO5
> > -    
> > -    #Capture parent sysfs in child
> > -    ls /tmp/par_sysfs/class/net > /tmp/parent_sysfs_in_child
> > -    diff /tmp/parent_sysfs_in_child /tmp/parent_sysfs > /dev/null
> > 2>&1
> > -    if [ $? -eq 0 ]
> > -    then
> > -        tst_resm TINFO "Pass:Child is able to view parent sysfs"
> > -        status=0
> > -    else
> > -        tst_resm TFAIL "Fail:Child view of sysfs is not same as
> > parent sysfs"
> > -        status=1
> > -    fi
> > -
> > -    echo $status > /tmp/FIFO6
> > -    
> > -    #cleanup
> > -    rm -f /tmp/parent_sysfs_in_child /tmp/parent_sysfs 
> > -    umount /tmp/mnt/sys
> > --- containers.old/netns/child_propagate.sh 1970-01-01
> > 05:30:00.000000000 +0530
> > +++ containers/netns/child_propagate.sh     2008-09-10 01:06:42.000000000
> > +0530
> > @@ -0,0 +1,46 @@
> > +#!/bin/bash
> > +# This script propagates the child sysfs contents to be visible for
> > parent
> > +# Also it will check the parent sysfs contents are visible.
> > +#Propagate child sys directory
> > +
> > +# The test case ID, the test case count and the total number of test
> > case
> > +TCID=${TCID:-child_propagate.sh}
> > +TST_TOTAL=1
> > +TST_COUNT=1
> > +#set -x
> > +export TCID
> > +export TST_COUNT
> > +export TST_TOTAL
> > +
> > +    ret=0
> > +    PROPAGATE=`cat /tmp/FIFO4`
> > +    debug "INFO: CHILD propagated.."
> > +    mount -t sysfs none /sys || ret=1
> 
> The test will fail if sysfs has been mounted by default in test
> systems.

IIUC this will be the first task in the child network namespace.  So
sys needs to be remounted.  The fact that it has been mounted on the
host is not a problem.  It will choose a new super-block and mount
that.  The mount shouldn't fail, else something was actually wrong.

> Moreover, users will also see the confusing error message
> "error while doing bind mount" later.

What do you mean, could you elaborate?

> Cai Qian
> 
> > +    mkdir -p /tmp/mnt/sys || ret=1
> > +    mount --bind /sys /tmp/mnt/sys > /dev/null || ret=1
> > +    
> > +    if [ $ret -ne 0 ]; then
> > +        status=1
> > +        tst_resm TFAIL "error while doing bind mount"
> > +        exit $status
> > +    fi
> > +    #Capture childs sysfs contents
> > +    ls /sys/class/net > /tmp/child_sysfs
> > +    echo propagated > /tmp/FIFO5
> > +
> > +    #Capture parent sysfs in child
> > +    ls /tmp/par_sysfs/class/net > /tmp/parent_sysfs_in_child
> > +    diff /tmp/parent_sysfs_in_child /tmp/parent_sysfs > /dev/null
> > 2>&1
> > +    if [ $? -eq 0 ]
> > +    then
> > +        tst_resm TINFO "Pass:Child is able to view parent sysfs"
> > +        status=0
> > +    else
> > +        tst_resm TFAIL "Fail:Child view of sysfs is not same as
> > parent sysfs"
> > +        status=1
> > +    fi
> > +
> > +    #cleanup
> > +    rm -f /tmp/parent_sysfs_in_child /tmp/parent_sysfs 
> > +    umount /tmp/mnt/sys
> > +    rm -rf /tmp/mnt  > /dev/null 2>&1 || true
> > Addressing the spelling error and also removed the redundant entry 
> > of passing status value.
> > --- containers.old/netns/parent_view.sh     2008-09-08 17:18:28.000000000
> > +0530
> > +++ containers/netns/parent_view.sh 2008-09-10 01:06:42.000000000
> > +0530
> > @@ -13,9 +13,9 @@ export TST_TOTAL
> >      
> >      debug "INFO: Parent SYSFS view" 
> >      ls /sys/class/net > /tmp/parent_sysfs
> > -    echo PROPOGATE > /tmp/FIFO4
> > +    echo PROPAGATE > /tmp/FIFO4
> >      
> > -    PROPOGATED=`cat /tmp/FIFO5`
> > +    PROPAGATED=`cat /tmp/FIFO5`
> >      ls /tmp/mnt/sys/class/net > /tmp/child_sysfs_in_parent
> >      diff /tmp/child_sysfs_in_parent /tmp/child_sysfs
> >      if [ $? -eq 0 ]
> > @@ -27,14 +27,11 @@ export TST_TOTAL
> >          status=-1
> >      fi
> >  
> > -    stat=`cat /tmp/FIFO6`
> > -    if [ $stat != 0 ] ; then
> > -        status=$stat
> > -    fi
> > -    
> >      #cleanup temp files
> > +
> >      rm -f /tmp/child_sysfs_in_parent /tmp/child_sysfs 
> >      umount /tmp/par_sysfs 
> >      umount /tmp/mnt
> >      sleep 1
> >      rm -rf /tmp/par_sysfs /tmp/mnt > /dev/null 2>&1 || true
> > +    cleanup $sshpid $vnet0
> > Modified to include the filename change and to return proper return
> > value.
> > --- containers.old/netns/sysfsview.c        2008-09-08 17:18:28.000000000
> > +0530
> > +++ containers/netns/sysfsview.c    2008-09-10 21:55:00.000000000 +0530
> > @@ -24,7 +24,7 @@
> >  * Also it checks the sysfs contents of the child are visible from
> > the parent NS.
> >  * On Success it returns PASS else returns FAIL
> >  *
> > -* Scripts used: parent_share.sh parent_view.sh child_propogate.sh 
> > +* Scripts used: parent_share.sh parent_view.sh child_propagate.sh 
> >  *               parentns.sh childns.sh
> >  *
> >  * 
> > @@ -38,7 +38,6 @@
> >  #include <sys/wait.h>
> >  #include "../libclone/libclone.h"
> >  
> > -extern int create_net_namespace(char *, char *);
> >  int main()
> >  {
> >      int len, ret, status = 0;
> > @@ -59,12 +58,12 @@ int main()
> >      /* Parent should be able to view child sysfs and vice versa */
> >      ret = system(script);
> >      status = WEXITSTATUS(ret);
> > -    if (status != 0) {
> > +    if ( ret == -1 || status != 0) {
> >          printf("Error while executing the script %s\n", script);
> >          fflush(stdout);
> >          exit(1);
> >      }
> >  
> > -    status =
> > create_net_namespace("parent_view.sh","child_propogate.sh");
> > +    status =
> > create_net_namespace("parent_view.sh","child_propagate.sh");
> >      return status;
> >  }
> > >
> -------------------------------------------------------------------------
> > This SF.Net email is sponsored by the Moblin Your Move Developer's
> > challenge
> > Build the coolest Linux based applications with Moblin SDK & win
> > great prizes
> > Grand prize is a trip for two to an Open Source event anywhere in the
> > world
> > http://moblin-contest.org/redirect.php?banner_id=100&url=/>
> _______________________________________________
> > Ltp-list mailing list
> > Ltp-list@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/ltp-list
> > 
> 
> 
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> Ltp-list mailing list
> Ltp-list@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/ltp-list

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to