1#!/bin/sh 2# SPDX-License-Identifier: GPL-2.0-or-later 3# Copyright (c) International Business Machines Corp., 2005 4# Copyright (c) 2021 Joerg Vehlow <joerg.vehlow@aox-tech.de> 5# Author: Avantika Mathur (mathurav@us.ibm.com) 6 7FS_BIND_TESTFUNC=test 8 9. fs_bind_lib.sh 10 11test() 12{ 13 tst_res TINFO "cloneNS: namespace with multi-level chain of slaves" 14 15 fs_bind_makedir rshared parent 16 fs_bind_makedir rshared parent/child1 17 fs_bind_makedir rshared parent/child2 18 19 EXPECT_PASS mount --rbind "$FS_BIND_DISK1" parent/child1 20 EXPECT_PASS mount --rbind parent parent/child2 21 22 fs_bind_create_ns 23 24 EXPECT_PASS mount --bind "$FS_BIND_DISK2" parent/child1/a 25 fs_bind_check parent/child1/a parent/child2/child1/a 26 27 EXPECT_PASS mount --bind "$FS_BIND_DISK3" parent/child2/child1/b 28 fs_bind_check parent/child1/b parent/child2/child1/b 29 30 31 fs_bind_check -s "$FS_BIND_DISK2" parent/child1/a parent/child2/child1/a 32 fs_bind_check -s "$FS_BIND_DISK3" parent/child1/b parent/child2/child1/b 33 34 fs_bind_exec_ns mount --bind "$PWD/$FS_BIND_DISK4" "$PWD/parent/child2/child1/c" 35 fs_bind_check -scheck parent/child2/child1/c parent/child1/c 36 37 fs_bind_exec_ns umount "$PWD/parent/child1/b" 38 fs_bind_check -s parent/child2/child1/b parent/child1/b 39 40 41 fs_bind_check "$FS_BIND_DISK4" parent/child2/child1/c parent/child1/c 42 fs_bind_check -n "$FS_BIND_DISK3" parent/child1/b 43 fs_bind_check parent/child1/b parent/child2/child1/b 44 45 46 EXPECT_PASS umount parent/child2/child1/c 47 EXPECT_PASS umount parent/child2/child1/a 48 EXPECT_PASS umount parent/child2/child1 49 EXPECT_PASS umount parent/child2/child1 50 EXPECT_PASS umount parent/child2/child2 51 EXPECT_PASS umount parent/child2 52 EXPECT_PASS umount parent 53} 54 55tst_run 56