All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joerg Vehlow <lkml@jv-coder.de>
To: ltp@lists.linux.it
Subject: [LTP] [PATCH v3 4/4] fs_bind: Remove old framework
Date: Thu,  8 Jul 2021 07:57:57 +0200	[thread overview]
Message-ID: <20210708055757.945702-5-lkml@jv-coder.de> (raw)
In-Reply-To: <20210708055757.945702-1-lkml@jv-coder.de>

From: Joerg Vehlow <joerg.vehlow@aox-tech.de>

After converting the tests to real ltp tests, the old framework
is not required anymore

Signed-off-by: Joerg Vehlow <joerg.vehlow@aox-tech.de>
Acked-by: Richard Palethorpe <rpalethorpe@suse.com>
---
 testcases/kernel/fs/fs_bind/BUGS            |   5 -
 testcases/kernel/fs/fs_bind/CHANGELOG       |  84 ----------
 testcases/kernel/fs/fs_bind/README          | 165 --------------------
 testcases/kernel/fs/fs_bind/TODO            |  11 --
 testcases/kernel/fs/fs_bind/bin/Makefile    |  31 ----
 testcases/kernel/fs/fs_bind/bin/check_prop  |  73 ---------
 testcases/kernel/fs/fs_bind/bin/lockfile    |  84 ----------
 testcases/kernel/fs/fs_bind/bin/makedir     | 101 ------------
 testcases/kernel/fs/fs_bind/bin/nsclone.c   |  68 --------
 testcases/kernel/fs/fs_bind/bin/setup       | 104 ------------
 testcases/kernel/fs/fs_bind/bin/setupnslock |  64 --------
 testcases/kernel/fs/fs_bind/bin/smount.c    |  73 ---------
 12 files changed, 863 deletions(-)
 delete mode 100644 testcases/kernel/fs/fs_bind/BUGS
 delete mode 100644 testcases/kernel/fs/fs_bind/CHANGELOG
 delete mode 100644 testcases/kernel/fs/fs_bind/README
 delete mode 100644 testcases/kernel/fs/fs_bind/TODO
 delete mode 100644 testcases/kernel/fs/fs_bind/bin/Makefile
 delete mode 100755 testcases/kernel/fs/fs_bind/bin/check_prop
 delete mode 100755 testcases/kernel/fs/fs_bind/bin/lockfile
 delete mode 100755 testcases/kernel/fs/fs_bind/bin/makedir
 delete mode 100644 testcases/kernel/fs/fs_bind/bin/nsclone.c
 delete mode 100755 testcases/kernel/fs/fs_bind/bin/setup
 delete mode 100755 testcases/kernel/fs/fs_bind/bin/setupnslock
 delete mode 100644 testcases/kernel/fs/fs_bind/bin/smount.c

diff --git a/testcases/kernel/fs/fs_bind/BUGS b/testcases/kernel/fs/fs_bind/BUGS
deleted file mode 100644
index 51c1e30d9..000000000
--- a/testcases/kernel/fs/fs_bind/BUGS
+++ /dev/null
@@ -1,5 +0,0 @@
-Clone Namespace Tests:
-	Currently the cloneNS test do not accurately report a final success or
-	failure value. To check if a test has passed, view the test output and
-	look at each individual check_prop test, and see if there are any
-	failures.
diff --git a/testcases/kernel/fs/fs_bind/CHANGELOG b/testcases/kernel/fs/fs_bind/CHANGELOG
deleted file mode 100644
index d41598821..000000000
--- a/testcases/kernel/fs/fs_bind/CHANGELOG
+++ /dev/null
@@ -1,84 +0,0 @@
-Remove this file prior to submission??
-------------------------------------
-
-Changes by Matt Helsley <matthltc@us.ibm.com>, March 12th, 2008:
-
-Many (but not all) of these changes are scripted so that I can modify the tests
-quickly by editting the ltp-convert.sh script. It saves a copy of the test foo
-as foo.orig before making any modifications. Currently there's a patch.txt file
-which shows all the changes the script makes.
-
-Moved readme.README to README
-
-Made tests run in the sandbox directory rather than in testcases/working
-
-Moved scripts and executables from testcases/working to bin
-
-Based all non-local paths out of the "$FS_BIND_ROOT" directory rather than
-having a "$path" variable.
-
-Logged mount lists before and after each test, took a diff, and removed the list
-	if they look the same. Otherwise it keeps the two files, reports the
-	diff, cleans up the mounts with a big hammer, and goes onto the next
-	test.
-
-Logged the sandbox contents before and after, took a diff, and removed the
-	logged contents if they look the same. Otherwise it keeps the
-	lists of files and dirs, reports the problem, and cleans up the
-	sandbox. This happens after the mount cleanups otherwise it could fail.
-
-Factored out the "check" function from most tests (still need to work on "childXX" and "parentXX" scripts) and put it into the setup script.
-
-Factored out the "path" variable and pushd bits into the sharedSubtree script.
-
-Added some traps to the test scripts to detect unexpected errors and log them
-
-Switched to LTP infrastructure for the test scripts. The driver scripts however
-are not switched yet (easy to do). I did this by writing some LTP API shims
-rather than try to toss it into ltp-full-XXXXXX.tgz. Then, once everything
-uses LTP we can integrate it.
-
-Made mkdir logdir quiet (restore it??)
-
-Count total tests in a separate loop so we can detect accidentally skipped tests
-
-"test" is a program -- changed variables named "test" to "t" to avoid potential
-	confusion later
-
-Added quotes around paths, variables, and output that may someday contain
-spaces (hopefully never, but..)
-
-Added logdir/errors redirection of stderr
-
-Removed testcases/<Up> script
-
-Removed .c files in testcases/cloneNS which appeared to be unused
-
-Added Makefiles for .c files and for toplevel dir (for LTP integration)
-
-Converted "mmount" to "smount" to match the .c file.
-
-Fixed up nsclone.c and smount.c to compile and do so without warnings.
-	(at least on gcc 4.2.3-1 debian)
-
-Fixed some bugs in the testcases:
-	A couple copy-paste bugs
-	Bugs with uncloneable mounts being bound but the error wasn't expected.
-	A few path bugs.
-
-Added bits to handle commands that are expected to fail (return non-zero)
-	Fixup the return code so that these are trapped properly
-		expected_to_fail && /bin/false || /bin/true
-	Redirected output
-		mount_expected_to_fail 2> /dev/null || result=$?
-
-Added umounts and comments describing cleanup bits which cleanup in case of
-	unexpected mount --move failure for example
-
-Added a BUGS file
-
-Added a CHANGELOG
-
-Added TODO file(s)
-
-Moved the sharedSubtree test to LTPROOT/testscripts and rewrote it for LTP
diff --git a/testcases/kernel/fs/fs_bind/README b/testcases/kernel/fs/fs_bind/README
deleted file mode 100644
index 74b2ee1e7..000000000
--- a/testcases/kernel/fs/fs_bind/README
+++ /dev/null
@@ -1,165 +0,0 @@
-=================================================================
-Test Suite for Bind Mount and Shared Subtree Features in the VFS:
-=================================================================
-Author: Avantika Mathur
-Date: September 16, 2005
-Last update: March 18th, 2008 (by Matt Helsley)
-
-About:
-------
-These tests exercise the Linux Kernel's bind mount and shared subtree
-capabilities. With it administrators may use clear semantics to manage
-complex mount trees on a system.
-
-Bind mount simply allows administrators to make a directory appear in
-two places at once -- somewhat like hard links for files:
-
-# mkdir mnt mnt2
-# mount --bind mnt mnt2
-# touch mnt/a
-# ls mnt2
-a
-
-Note that bind mounts are not recursive. To get a recursive bind mount
-use --rbind.
-
-Another limitation of simple bind mounts is they cannot propagate future binds:
-
-# mkdir mnt mnt2
-# mount --bind mnt mnt2
-# touch mnt/a
-# mkdir mnt/foo
-# ls mnt2
-a foo
-# mkdir sub
-# touch sub/b
-# mount --bind sub /mnt/foo
-# ls mnt/foo
-b
-# ls mnt2/foo
-
-mnt2/foo appears to be empty because the second bind mount did not propagate
-to mnt2. Shared subtrees allow propagation whereas bind mounts do not.
-To enable full administrator control of propagation there are several kinds of
-subtrees:
-	private		[default -- this is a "normal" mount]
-	shared		[propagation goes both ways]
-	slave		[propagation goes one way]
-	unbindable	[cannot --bind and hence cannot share]
-
-For further details on these types of subtrees please see your kernel source's
-Documentation/filesystems/sharedsubtree.txt file.
-
-Building:
----------
-Uses GNU Make. In the root directory type:
-make
-
-Installing:
------------
-Type:
-make install
-
-Cleaning:
----------
-Type:
-make clean
-
-Running:
---------
-run LTPROOT/testscripts/test_fs_bind.sh
-
-
-Testcases:
-----------
-There are multiple testcases testing in each of the following categories,
-testing functionality of different types of mounts, different combinations,
-etc:
--- bind
--- rbind
--- move
--- regression tests
--- clone namespace (currently not run)
-
-
-Directory Structure:
---------------------
-In the root directory of the suite there are scripts to execute the whole test suite. Logged results are stored in LTPROOT/results/fs_bind. PASS/FAIL
-indications are passed to the LTP API and logged in the results directory too.
-
-Basic tests of bind and move mounts are part of the test_fs_bind.sh test
-script itself. These are prerequisites for the more the complicated tests.
-The bind, rbind, and move directories contain tests for bind, rbind, move in
-combination with the various kinds of subtrees. The regression and cloneNS
-directories perform basic regression tests and combine some of the tests with
-mount namespaces respectively.
-
-The bin directory contains scripts used by each of the testcases for
-common setup, creating, and comparing mounts.
-
-Running the Test Suite:
------------------------
-To run the entire testsuite run:
-test_fs_bind.sh
-
-Log directories where the results are stored in LTPROOT/results/fs_bind
-
-Reading the Test Suite Results:
--------------------------------
-Test suite results are logged, by default, in the LTPROOT/results/fs_bind
-directory. Its structure is:
-fs_bind-\
-	|-> errors		 (stderr of main test suite script itself)
-	|-> summary		 (stdout of main test suite script itself)
-	|-move--\
-	|	|->test01-\	(logs of test01)
-	|	|	  |-> log		(stdout)
-	|	|	  |-> err		(stderr)
-	|	|	  |-> mtab.before
-	|	|	  |-> mtab.after
-	|	|	  |-> proc_mounts.before
-	|	|	  |-> proc_mounts.after
-	|	|	  |-> files.before	(files  before running)
-	|	|	  |-> dirs.before	(dirs   before running)
-	|	|	  |-> files.after	(files  after  running)
-	|	|	  \-> dirs.after	(dirs   after  running)
-	|	|->test02-\
-	|	|	  |
-	|	...	  ...
-	|-rbind--\
-	|        |-->
-	...       ...
-
-An testXX/err file will only be left for those tests that had errors and
-stderr was non-empty. mounts.*, files.*, and dirs.* files will be left for
-tests that appear to have broken cleanup sections. The test_fs_bind.sh
-script robustly handles cleanup so, unless the tests are run individually, this
-is not an issue that prevents testing from completing successfully nor does it
-interfere with test results.
-
-These files make it easy to determine what happened during a given test.
-It's easy to see which tests need to be debugged and which do not. It also
-makes it easy to aggregate output or trace sandbox dirtying from test to test.
-
-Running individual Tests:
--------------------------
-Currently tests cannot be run individually because there are several important
-LTP environment dependencies. Some of them are documented below:
-	LTP test script environment variables:
-		LTPROOT
-		TCID
-		TST_TOTAL
-		TST_COUNT
-	LTP commands/functions:
-		tst_resm
-		tst_brkm
-		tst_exit
-	LTP contents:
-		LTPROOT/testcases/bin
-
-It's important to note that the individual test scripts use the current working
-directory extensively but never exit it. This may allow the tests to be run
-individually once the above LTP environment dependencies are resolved.
-Lastly none of the logging or debugging information will appear in the
-LTPROOT/results/fs_bind directory when tests are invoked individually since
-those are collected by the test_fs_bind.sh script.
diff --git a/testcases/kernel/fs/fs_bind/TODO b/testcases/kernel/fs/fs_bind/TODO
deleted file mode 100644
index 1730148ef..000000000
--- a/testcases/kernel/fs/fs_bind/TODO
+++ /dev/null
@@ -1,11 +0,0 @@
-Consider replacing long invocations
-	(replace "$FS_BIND_ROOT/bin/makedir") with something shorter).
-
-Factor out common bits of setup, setupnslock, and lockfile
-
-Rename smount to something more meaningful? (bind_mount ?)
-
-Check for leaks of vfsmount structs by diffing vfs slab cache obj numbers
-	(after -before)
-
-The cloneNS testcases need to be checked and tested -- consider them expiremental. (at least as of March 2008)
diff --git a/testcases/kernel/fs/fs_bind/bin/Makefile b/testcases/kernel/fs/fs_bind/bin/Makefile
deleted file mode 100644
index 2c09a286d..000000000
--- a/testcases/kernel/fs/fs_bind/bin/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-#    testcases/kernel/fs/fs_bind/bin Makefile.
-#
-#    Copyright (C) 2009, Cisco Systems Inc.
-#
-#    This program is free software; you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation; either version 2 of the License, or
-#    (at your option) any later version.
-#
-#    This program is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License along
-#    with this program; if not, write to the Free Software Foundation, Inc.,
-#    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Ngie Cooper, September 2009
-#
-
-top_srcdir		?= ../../../../..
-
-include $(top_srcdir)/include/mk/testcases.mk
-
-INSTALL_DIR		:= $(prefix)/testcases/bin/fs_bind/bin
-
-INSTALL_TARGETS		:= check_prop lockfile makedir setup setupnslock
-
-include $(top_srcdir)/include/mk/generic_leaf_target.mk
diff --git a/testcases/kernel/fs/fs_bind/bin/check_prop b/testcases/kernel/fs/fs_bind/bin/check_prop
deleted file mode 100755
index 07da8ea28..000000000
--- a/testcases/kernel/fs/fs_bind/bin/check_prop
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/bin/bash
-#
-# Copyright (c) International Business Machines  Corp., 2005
-# Author: Avantika Mathur (mathurav@us.ibm.com)
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-#
-
-reverse=0
-while getopts "n" args $OPTIONS
-do
-	case "$args" in
-        n)      reverse=1
-		shift
-                ;;
- 	esac
-done
-
-if [ $reverse -eq 1 ]
-then
-	echo Check No Propagation $*
-else
-	echo Check Propagation $*
-fi
-
-dir1="$1"
-shift
-
-for dir2 in "$@"
-do
-	# compare adjacent pairs of directory trees
-
-	echo "Checking \"$dir1\" \"$dir2\""
-	diff -r "$dir1" "$dir2" 2> /dev/null
-
-	if [ $? -ne 0 ]
-	then
-		if [ $reverse -eq 1 ]
-		then
-			echo Successful
-			echo "---------"
-			exit 0
-		else
-			echo "FAILED"
-			echo "---------"
-                	exit 1
-		fi
-        fi
-        dir1="$dir2"
-done
-
-if [ $reverse -eq 1 ]
-then
-	echo FAILED
-	echo "---------"
-	exit -1
-else
-	echo Successful
-	echo "---------"
-	exit 0
-fi
diff --git a/testcases/kernel/fs/fs_bind/bin/lockfile b/testcases/kernel/fs/fs_bind/bin/lockfile
deleted file mode 100755
index 93d4d81a9..000000000
--- a/testcases/kernel/fs/fs_bind/bin/lockfile
+++ /dev/null
@@ -1,84 +0,0 @@
-#!/bin/bash
-#
-# Copyright (c) International Business Machines  Corp., 2005
-# Author: Ram Pai (linuxram@us.ibm.com)
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-#
-
-
-lockfile="/.nslock"
-SUCCESS=0
-FAIL=1
-otherpid=
-startparent()
-{
-	rm -f $lockfile
-	echo $$ >| ${lockfile}parent
-	while [ 1 ]
-	do
-		otherpid="$(cat ${lockfile}child 2> /dev/null)"
-		if [ -n "$otherpid" -a -d /proc/$otherpid ]
-		then
-			return
-		fi
-	done
-}
-
-startchild()
-{
-	rm -f $lockfile
-	echo $$ >| ${lockfile}child
-	while [ 1 ]
-	do
-		otherpid="$(cat ${lockfile}parent 2> /dev/null)"
-		if [ -n "$otherpid" -a -d /proc/$otherpid ]
-		then
-			return
-		fi
-	done
-}
-
-iamgoingahead()
-{
-	while [ 1 ]
-	do
-		if [ ! -d /proc/$otherpid ]
-		then
-			return $FAIL
-		fi
-		str=`cat $lockfile 2> /dev/null`
-		pid=$(echo $str | awk '{print $1}')
-		error=$(echo $str | awk '{print $2}')
-		if [ "$pid" == "$$" ]
-		then
-			return $error
-		fi
-		sleep 1
-	done
-}
-
-
-goahead()
-{
-	set -x
-	ret=$SUCCESS
-	if [ -n "$1" ]
-	then
-		ret=$1
-	fi
-	echo "$otherpid $ret" >| $lockfile
-	set +x
-}
diff --git a/testcases/kernel/fs/fs_bind/bin/makedir b/testcases/kernel/fs/fs_bind/bin/makedir
deleted file mode 100755
index 7c0766a1b..000000000
--- a/testcases/kernel/fs/fs_bind/bin/makedir
+++ /dev/null
@@ -1,101 +0,0 @@
-#!/bin/bash
-#
-# Copyright (c) International Business Machines  Corp., 2005
-# Author: Avantika Mathur (mathurav@us.ibm.com)
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-#
-
-mflags=""
-#mflags="-n" # Don't futz with mtab
-
-flag=y
-while getopts "n" arg "$@"
-do
-        case "$arg" in
-        n)      flag=n
-                shift
-                ;;
-        esac
-done
-
-bind_type="$1"
-dir="$2"
-
-
-if [ ! -d "$dir" ]
-then
-	if [ -e "$dir" ]; then
-		echo "ERROR: a file by the name \"$dir\" exists"
-		exit 1
-	fi
-	mkdir -p "$dir"
-	echo "mkdir -p \"$dir\""
-fi
-
-
-if [ "$flag" = "y" ] && [ "$bind_type" != slave ]
-then
-	mount $mflags --bind "$dir" "$dir" || exit $?
-	echo "mount $mflags --bind \"$dir\" \"$dir\""
-fi
-
-# Try to use native mount, else fallback to included smount binary
-case "$bind_type" in
-   share)
-   	echo "mount $mflags --make-rshared \"$dir\""
-	mount $mflags --make-rshared "$dir" 2> /dev/null || \
-	smount "$dir" rshared || exit $?
-      	;;
-   priv)
-   	echo "mount $mflags --make-rprivate \"$dir\""
-	mount $mflags --make-rprivate "$dir" 2> /dev/null || \
-	smount "$dir" rprivate || exit $?
-      	;;
-   slave)
-   	echo "mount $mflags --make-rslave \"$dir\""
-	mount $mflags --make-rslave "$dir" 2> /dev/null || \
-	smount "$dir" rslave || exit $?
-      	;;
-   unclone)
-   	echo "mount $mflags --make-runbindable \"$dir\""
-	mount $mflags --make-runbindable "$dir" 2> /dev/null || \
-	smount "$dir" runclone || exit $?
-      	;;
-   nshare)
-   	echo "mount $mflags --make-shared \"$dir\""
-	mount $mflags --make-shared "$dir" 2> /dev/null || \
-	smount "$dir" shared || exit $?
-      	;;
-   npriv)
-   	echo "mount $mflags --make-private \"$dir\""
-	mount $mflags --make-private "$dir" 2> /dev/null || \
-	smount "$dir" private || exit $?
-      	;;
-   nslave)
-   	echo "mount $mflags --make-slave \"$dir\""
-	mount $mflags --make-slave "$dir" 2> /dev/null || \
-	smount "$dir" slave || exit $?
-      	;;
-   nunclone)
-   	echo "mount $mflags --make-unbindable \"$dir\""
-	mount $mflags --make-unbindable "$dir" 2> /dev/null || \
-	smount "$dir" unclone || exit $?
-      	;;
-   *)
-   	echo "$0: unrecognized bind type (1st arg): $bind_type" 1>&2
-	exit 1
-	;;
-esac
diff --git a/testcases/kernel/fs/fs_bind/bin/nsclone.c b/testcases/kernel/fs/fs_bind/bin/nsclone.c
deleted file mode 100644
index 36ae874db..000000000
--- a/testcases/kernel/fs/fs_bind/bin/nsclone.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) International Business Machines  Corp., 2005
- * Author: Ram Pai (linuxram@us.ibm.com)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-#define _GNU_SOURCE
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <sched.h>
-#include <signal.h>
-#include <unistd.h>
-#include "test.h"
-#include <sys/types.h>
-#include <sys/wait.h>
-
-int myfunc(void *arg)
-{
-	return system(arg);
-}
-
-static void usage(char *cmd)
-{
-	printf("%s  child_script parent_script\n", cmd);
-}
-
-int main(int argc, char *argv[])
-{
-	char *child_cmd;
-	char *parent_cmd;
-	int ret = 0, childret = 0;
-
-	if (argc < 3) {
-		usage(argv[0]);
-		exit(1);
-	}
-
-	child_cmd = (char *)strdup(argv[2]);
-	parent_cmd = (char *)strdup(argv[1]);
-
-	printf("1\n");
-	ret = ltp_clone_quick(CLONE_NEWNS | SIGCHLD, myfunc, (void *)child_cmd);
-	if (ret != -1) {
-		system(parent_cmd);
-		wait(&childret);
-	} else {
-		fprintf(stderr, "clone failed\n");
-	}
-	if (ret || !WIFEXITED(childret)) {
-		exit(1);
-	}
-	exit(0);
-}
diff --git a/testcases/kernel/fs/fs_bind/bin/setup b/testcases/kernel/fs/fs_bind/bin/setup
deleted file mode 100755
index 4e30ef42b..000000000
--- a/testcases/kernel/fs/fs_bind/bin/setup
+++ /dev/null
@@ -1,104 +0,0 @@
-#!/bin/bash -v
-
-#
-# Copyright (c) International Business Machines  Corp., 2005
-# Author: Avantika Mathur (mathurav@us.ibm.com)
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-#
-
-
-disk1=disk1
-disk2=disk2
-disk3=disk3
-disk4=disk4
-fs=ext3
-
-mkdir -p $disk1 $disk2 $disk3 $disk4
-
-
-
-rm -rf $disk1/* $disk2/* $disk3/* $disk4/*
-
-mkdir $disk1/a $disk1/b $disk1/c
-mkdir $disk2/d $disk2/e $disk2/f
-mkdir $disk3/g $disk3/h $disk3/i
-mkdir $disk4/j $disk4/k $disk4/l
-
-lockfile="/.nslock"
-otherpid=
-startparent()
-{
-        rm -f $lockfile
-        echo $$ >| ${lockfile}parent
-        while [ 1 ]
-        do
-                otherpid="$(cat ${lockfile}child 2> /dev/null)"
-                if [ -n "$otherpid" -a -d /proc/$otherpid ]
-                then
-                        return
-                fi
-        done
-}
-
-
-startchild()
-{
-        rm -f $lockfile
-        echo $$ >| ${lockfile}child
-        while [ 1 ]
-        do
-                otherpid="$(cat ${lockfile}parent 2> /dev/null)"
-                if [ -n "$otherpid" -a -d /proc/$otherpid ]
-                then
-                        return
-                fi
-        done
-}
-
-iamgoingahead()
-{
-        while [ 1 ]
-        do
-                pid=`cat $lockfile 2> /dev/null`
-                if [ "$pid" == "$$" ]
-                then
-                        return
-                fi
-                sleep 1
-        done
-}
-
-
-goahead()
-{
-        set -x
-        echo $otherpid > $lockfile
-        set +x
-}
-
-
-check(){
-	"${FS_BIND_ROOT}/bin/check_prop" $*
-	ret=$?
-	if [ $ret -ne 0 ]; then
-		result=$ret
-	fi
-}
-export result=0
-
-cleanup(){
-	rm -rf "disk"*
-}
diff --git a/testcases/kernel/fs/fs_bind/bin/setupnslock b/testcases/kernel/fs/fs_bind/bin/setupnslock
deleted file mode 100755
index e35927b69..000000000
--- a/testcases/kernel/fs/fs_bind/bin/setupnslock
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/bin/bash
-
-lockfile="/.nslock"
-SUCCESS=0
-FAIL=1
-otherpid=
-startparent()
-{
-        rm -f $lockfile
-        echo $$ >| ${lockfile}parent
-        while [ 1 ]
-        do
-                otherpid="$(cat ${lockfile}child 2> /dev/null)"
-                if [ -n "$otherpid" -a -d /proc/$otherpid ]
-                then
-                        return
-                fi
-        done
-}
-
-startchild()
-{
-        rm -f $lockfile
-        echo $$ >| ${lockfile}child
-        while [ 1 ]
-        do
-                otherpid="$(cat ${lockfile}parent 2> /dev/null)"
-                if [ -n "$otherpid" -a -d /proc/$otherpid ]
-                then
-                        return
-                fi
-        done
-}
-
-iamgoingahead()
-{
-        while [ 1 ]
-        do
-                if [ ! -d /proc/$otherpid ]
-                then
-                        return $FAIL
-                fi
-                str=`cat $lockfile 2> /dev/null`
-                pid=$(echo $str | awk '{print $1}')
-                error=$(echo $str | awk '{print $2}')
-                if [ "$pid" == "$$" ]
-                then
-                        return $error
-                fi
-                sleep 1
-        done
-}
-
-goahead()
-{
-        set -x
-        ret=$SUCCESS
-        if [ -n "$1" ]
-        then
-                ret=$1
-        fi
-        echo "$otherpid $ret" >| $lockfile
-        set +x
-}
diff --git a/testcases/kernel/fs/fs_bind/bin/smount.c b/testcases/kernel/fs/fs_bind/bin/smount.c
deleted file mode 100644
index 9484687ee..000000000
--- a/testcases/kernel/fs/fs_bind/bin/smount.c
+++ /dev/null
@@ -1,73 +0,0 @@
-//
-//this code was developed my Miklos Szeredi <miklos@szeredi.hu>
-//and modified by Ram Pai <linuxram@us.ibm.com>
-// sample usage:
-//              newmount /tmp shared
-//
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <unistd.h>
-#include <sys/mount.h>
-#include <sys/fsuid.h>
-
-#ifndef MS_REC
-#define MS_REC		0x4000	/* 16384: Recursive loopback */
-#endif
-
-#ifndef MS_SHARED
-#define MS_SHARED		1<<20	/* Shared */
-#endif
-
-#ifndef MS_PRIVATE
-#define MS_PRIVATE		1<<18	/* Private */
-#endif
-
-#ifndef MS_SLAVE
-#define MS_SLAVE		1<<19	/* Slave */
-#endif
-
-#ifndef MS_UNCLONE
-#define MS_UNCLONE		1<<17	/* UNCLONE */
-#endif
-
-int main(int argc, char *argv[])
-{
-	int type;
-	if (argc != 3) {
-		fprintf(stderr, "usage: %s DIR "
-			"[rshared|rslave|rprivate|runclone|shared|slave|private|unclone]\n",
-			argv[0]);
-		return 1;
-	}
-
-	fprintf(stdout, "%s %s %s\n", argv[0], argv[1], argv[2]);
-
-	if (strcmp(argv[2], "rshared") == 0)
-		type = (MS_SHARED | MS_REC);
-	else if (strcmp(argv[2], "rslave") == 0)
-		type = (MS_SLAVE | MS_REC);
-	else if (strcmp(argv[2], "rprivate") == 0)
-		type = (MS_PRIVATE | MS_REC);
-	else if (strcmp(argv[2], "runclone") == 0)
-		type = (MS_UNCLONE | MS_REC);
-	else if (strcmp(argv[2], "shared") == 0)
-		type = MS_SHARED;
-	else if (strcmp(argv[2], "slave") == 0)
-		type = MS_SLAVE;
-	else if (strcmp(argv[2], "private") == 0)
-		type = MS_PRIVATE;
-	else if (strcmp(argv[2], "unclone") == 0)
-		type = MS_UNCLONE;
-	else {
-		fprintf(stderr, "invalid operation: %s\n", argv[2]);
-		return 1;
-	}
-	setfsuid(getuid());
-	if (mount("", argv[1], "ext2", type, "") == -1) {
-		perror("mount");
-		return 1;
-	}
-	return 0;
-}
-- 
2.25.1


  parent reply	other threads:[~2021-07-08  5:57 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-08  5:57 [LTP] [PATCH v3 0/4] fs_bind: Convert to ltp tests Joerg Vehlow
2021-07-08  5:57 ` [LTP] [PATCH v3 1/4] fs_bind: Rename tests to have unique names Joerg Vehlow
2021-07-08  5:57 ` [LTP] [PATCH v3 2/4] fs_bind: Convert to ltp tests Joerg Vehlow
2021-07-08  5:57 ` [LTP] [PATCH v3 3/4] fs_bind: Convert cloneNS tests Joerg Vehlow
2021-07-08  5:57 ` Joerg Vehlow [this message]
2021-07-08 11:43 ` [LTP] [PATCH v3 0/4] fs_bind: Convert to ltp tests Cyril Hrubis

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=20210708055757.945702-5-lkml@jv-coder.de \
    --to=lkml@jv-coder.de \
    --cc=ltp@lists.linux.it \
    /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.