Serge E. Hallyn wrote:
> Quoting Serge E. Hallyn ([EMAIL PROTECTED]):
>> Quoting Subrata Modak ([EMAIL PROTECTED]):
>>> Hi Rishikesh/Sergei,
>>>
>>> Any fix available for the same ?? ;-)
>> Please try the following patch...
> 
> I'm sorry, that should handle archictures without unshare (?) but not
> older kernels.
> 
> The following patch adds a check for a 2.6.16 kernel, which it looks
> like is where unshare was added.
> 
> BTW, I may be off, but I think the comments for
> lib/tst_kvercmp.c:tst_kvercmp() are wrong, aren't they?  Doesn't it
> return a positive int if arg < current kernel version, and positive int
> if arg > current kernel version?

Yep i verified it , it is correct

arg > kernel version = it is returning negative .
arg < kernel version = it is returning positive.

Where arg = 2.6.17 , current kernel versions are = 2.6.15 & 
2.6.18.8-el5

thanks
Rishi
> 
> thanks,
> -serge
> 
> diff -Nrup ltp/testcases/kernel/containers/Makefile 
> ltp-patched/testcases/kernel/containers/Makefile
> --- ltp/testcases/kernel/containers/Makefile  2007-04-26 13:02:50.000000000 
> +0200
> +++ ltp-patched/testcases/kernel/containers/Makefile  2007-06-26 
> 04:08:24.000000000 +0200
> @@ -1,14 +1,23 @@
>  SUBDIRS = libclone utsname
> 
> -all noltp noltp_check:
> -     @set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done
> +CFLAGS += -I../../../include
> 
> -install:
> -     @set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i install ; done
> -     chmod ugo+x container_test.sh
> -     ln -f container_test.sh ../../bin/container_test.sh
> +check_for_unshare: check_for_unshare.c
> +     $(CC) -o $@ $< ../../../lib/tst_kvercmp.c $(CFLAGS)
> 
> -clean:
> -     @set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i clean ; done
> +all noltp noltp_check: check_for_unshare
> +     @set -e; if './check_for_unshare' > /dev/null 2>&1; then \
> +             for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done \
> +     else echo "system does not support unshare"; true; fi
> 
> +install: check_for_unshare
> +     @set -e; ln -f check_for_unshare ../../bin/check_for_unshare; \
> +     if './check_for_unshare' > /dev/null 2>&1; then \
> +             for i in $(SUBDIRS); do $(MAKE) -C $$i install ; done; \
> +             chmod ugo+x container_test.sh; \
> +             ln -f container_test.sh ../../bin/container_test.sh; \
> +     else echo "system does not support unshare"; true; fi
> 
> +clean:
> +     @set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i clean ; done
> +     rm -f check_for_unshare
> diff -Nrup ltp/testcases/kernel/containers/check_for_unshare.c 
> ltp-patched/testcases/kernel/containers/check_for_unshare.c
> --- ltp/testcases/kernel/containers/check_for_unshare.c       1970-01-01 
> 01:00:00.000000000 +0100
> +++ ltp-patched/testcases/kernel/containers/check_for_unshare.c       
> 2007-06-26 04:08:52.000000000 +0200
> @@ -0,0 +1,34 @@
> +#include <stdio.h>
> +#include <test.h>
> +
> +int kernel_is_too_old(void) {
> +     if (tst_kvercmp(2,6,16) < 0)
> +             return 1;
> +     return 0;
> +}
> +
> +/*
> + * yeah, to make the makefile coding easier, do_check returns 
> + * 1 if unshare is not supported, 0 if it is
> + */
> +#ifndef SYS_unshare
> +#ifdef __NR_unshare
> +int do_check(void) { return kernel_is_too_old(); }
> +#elif __i386__
> +int do_check(void) { return kernel_is_too_old(); }
> +#elif __ia64__
> +int do_check(void) { return kernel_is_too_old(); }
> +#elif __x86_64__
> +int do_check(void) { return kernel_is_too_old(); }
> +#elif __s390x__ || __s390__
> +int do_check(void) { return kernel_is_too_old(); }
> +#elif __powerpc__
> +int do_check(void) { return kernel_is_too_old(); }
> +#else
> +int do_check(void) { return 1; }
> +#endif
> +#endif
> +
> +int main() {
> +     return do_check();
> +}
> diff -Nrup ltp/testcases/kernel/containers/container_test.sh 
> ltp-patched/testcases/kernel/containers/container_test.sh
> --- ltp/testcases/kernel/containers/container_test.sh 2007-04-26 
> 13:02:50.000000000 +0200
> +++ ltp-patched/testcases/kernel/containers/container_test.sh 2007-06-25 
> 20:27:17.000000000 +0200
> @@ -10,6 +10,12 @@
>  # any later version.
> 
>  #check_utsns_enabled
> +check_for_unshare
> +if [ $? -eq 1 ]; then
> +     echo "Unshare not supported.  Not running container tests"
> +     exit 0
> +fi
> +
>  #if [ $? -eq 0 ]; then
>       echo "Running utsns tests."
>       runutstest.sh


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to