xref: /aosp_15_r20/external/ltp/testcases/kernel/fs/fs_bind/fs_bind_regression.sh (revision 49cdfc7efb34551c7342be41a7384b9c40d7cab7)
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
7TST_CNT=3
8FS_BIND_TESTFUNC=test
9
10
11test1()
12{
13	tst_res TINFO "regression: bind unshared directory to unshare mountpoint"
14
15	mkdir dir
16	EXPECT_PASS mount --bind "$FS_BIND_DISK1" dir
17	fs_bind_check "$FS_BIND_DISK1" dir
18	EXPECT_PASS umount dir
19}
20
21test2()
22{
23	tst_res TINFO "regression: rbind unshared directory to unshare mountpoint"
24
25	mkdir dir1
26	mkdir dir2
27	EXPECT_PASS mount --bind "$FS_BIND_DISK1" dir1
28	EXPECT_PASS mount --bind "$FS_BIND_DISK2" dir1/a
29	EXPECT_PASS mount --rbind dir1 dir2
30
31	fs_bind_check dir1/a dir2/a
32
33	EXPECT_PASS umount dir1/a
34	EXPECT_PASS umount dir2/a
35	EXPECT_PASS umount dir2
36	EXPECT_PASS umount dir1
37}
38
39test3()
40{
41	tst_res TINFO "regression: move unshared directory to unshare mountpoint"
42
43	mkdir dir1
44	mkdir dir2
45	EXPECT_PASS mount --bind "$FS_BIND_DISK1" dir1
46	EXPECT_PASS mount --bind "$FS_BIND_DISK2" dir1/a
47	EXPECT_PASS mount --move dir1 dir2
48
49	fs_bind_check dir2/a "$FS_BIND_DISK2"
50
51	EXPECT_PASS umount dir2/a
52	EXPECT_PASS umount dir2
53}
54
55. fs_bind_lib.sh
56tst_run
57