137550cf5a86c7ca7424a2a318dd64e550f13f5dfChris Dearman#!/bin/bash 21d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak 31d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak# 41d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak# Copyright (c) International Business Machines Corp., 2005 51d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak# Author: Avantika Mathur (mathurav@us.ibm.com) 61d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak# 71d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak# This library is free software; you can redistribute it and/or 81d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak# modify it under the terms of the GNU Lesser General Public 91d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak# License as published by the Free Software Foundation; either 101d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak# version 2.1 of the License, or (at your option) any later version. 111d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak# 121d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak# This library is distributed in the hope that it will be useful, 131d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak# but WITHOUT ANY WARRANTY; without even the implied warranty of 141d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 151d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak# Lesser General Public License for more details. 161d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak# 171d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak# You should have received a copy of the GNU Lesser General Public 181d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak# License along with this library; if not, write to the Free Software 191d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 201d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak# 211d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak 221d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modakSETS_DEFAULTS="${TCID=test22} ${TST_COUNT=1} ${TST_TOTAL=1}" 231d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modakdeclare -r TCID 241d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modakdeclare -r TST_COUNT 251d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modakdeclare -r TST_TOTAL 261d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modakexport TCID TST_COUNT TST_TOTAL 271d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak 281d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modaktst_resm TINFO "***************TEST22***************" 291d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modaktst_resm TINFO "move: shared tree within a tree it is bound to - and then move to another share subtree" 301d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modaktst_resm TINFO "************************************" 311d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak 321d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak. "${FS_BIND_ROOT}/bin/setup" || (tst_resm TWARN "Setup of move/test22 failed" && tst_exit) 331d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modakexport result=0 341d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak 351d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak 361d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak 371d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modaktrap 'ERR=$? ; ERR_MSG="caught error near: ${BASH_SOURCE[0]}:${FUNCNAME[0]}:${LINENO}:$_ (returned ${ERR})"; break' ERR 381d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak 391d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modakwhile /bin/true ; do 401d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak # This loop is for error recovery purposes only 411d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak 4237550cf5a86c7ca7424a2a318dd64e550f13f5dfChris Dearman 431d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak "${FS_BIND_ROOT}/bin/makedir" share parent1 441d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak mkdir parent1/a parent2 451d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak mount --bind parent1 parent2 4637550cf5a86c7ca7424a2a318dd64e550f13f5dfChris Dearman 471d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak check parent1 parent2 4837550cf5a86c7ca7424a2a318dd64e550f13f5dfChris Dearman 491d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak mount --move parent1 parent2/a 5037550cf5a86c7ca7424a2a318dd64e550f13f5dfChris Dearman 511d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak check parent2 parent2/a parent2/a/a 5237550cf5a86c7ca7424a2a318dd64e550f13f5dfChris Dearman 531d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak "${FS_BIND_ROOT}/bin/makedir" share tmp1 541d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak mkdir tmp2 tmp1/1 5537550cf5a86c7ca7424a2a318dd64e550f13f5dfChris Dearman 561d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak mount --bind tmp1 tmp2 571d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak mount --move parent2 tmp1/1 5837550cf5a86c7ca7424a2a318dd64e550f13f5dfChris Dearman 591d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak break 601d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modakdone 611d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modaktrap 'ERR=$? ; tst_resm TWARN "move/test22: caught error near: ${BASH_SOURCE[0]}:${FUNCNAME[0]}:${LINENO}:$_ (returned ${ERR})"' ERR 621d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modakif [ -n "${ERR_MSG}" ]; then 631d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak tst_resm TWARN "move/test22: ${ERR_MSG}" 641d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak ERR_MSG="" 651d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak result=$ERR 661d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modakfi 671d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modaktrap '' ERR 681d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak{ 691d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak umount tmp1/1/a/a 701d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak umount tmp1/1/a 711d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak umount tmp1/1 721d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak umount tmp1 731d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak umount tmp1 741d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak umount tmp2 7537550cf5a86c7ca7424a2a318dd64e550f13f5dfChris Dearman 761d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak rm -rf dir parent* tmp1 tmp2 771d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak cleanup 781d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak} >& /dev/null 791d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modakif [ $result -ne 0 ] 801d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modakthen 811d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak tst_resm TFAIL "move/test22: FAILED: move: shared tree within a tree it is bound to - and then move to another share subtree" 821d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak exit 1 831d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modakelse 841d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modak tst_resm TPASS "move/test22: PASSED" 8537550cf5a86c7ca7424a2a318dd64e550f13f5dfChris Dearman exit 0 861d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modakfi 871d1937abbf836db65aaa6806c5a3bfb7deb2ae43subrata_modaktst_exit 88