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 <[email protected]> 5# Author: Avantika Mathur ([email protected]) 6 7FS_BIND_TESTFUNC=test 8 9 10test() 11{ 12 tst_res TINFO "cloneNS: namespace with multi-level chain of slaves" 13 14 fs_bind_makedir rshared parent 15 fs_bind_makedir rshared parent/child1 16 fs_bind_makedir rshared parent/child2 17 18 EXPECT_PASS mount --rbind "$FS_BIND_DISK1" parent/child1 19 EXPECT_PASS mount --rbind parent parent/child2 20 21 fs_bind_create_ns 22 23 EXPECT_PASS mount --bind "$FS_BIND_DISK2" parent/child1/a 24 fs_bind_check parent/child1/a parent/child2/child1/a 25 26 EXPECT_PASS mount --bind "$FS_BIND_DISK3" parent/child2/child1/b 27 fs_bind_check parent/child1/b parent/child2/child1/b 28 29 30 fs_bind_check -s "$FS_BIND_DISK2" parent/child1/a parent/child2/child1/a 31 fs_bind_check -s "$FS_BIND_DISK3" parent/child1/b parent/child2/child1/b 32 33 fs_bind_exec_ns mount --bind "$PWD/$FS_BIND_DISK4" "$PWD/parent/child2/child1/c" 34 fs_bind_check -scheck parent/child2/child1/c parent/child1/c 35 36 fs_bind_exec_ns umount "$PWD/parent/child1/b" 37 fs_bind_check -s parent/child2/child1/b parent/child1/b 38 39 40 fs_bind_check "$FS_BIND_DISK4" parent/child2/child1/c parent/child1/c 41 fs_bind_check -n "$FS_BIND_DISK3" parent/child1/b 42 fs_bind_check parent/child1/b parent/child2/child1/b 43 44 45 EXPECT_PASS umount parent/child2/child1/c 46 EXPECT_PASS umount parent/child2/child1/a 47 EXPECT_PASS umount parent/child2/child1 48 EXPECT_PASS umount parent/child2/child1 49 EXPECT_PASS umount parent/child2/child2 50 EXPECT_PASS umount parent/child2 51 EXPECT_PASS umount parent 52} 53 54. fs_bind_lib.sh 55tst_run 56