]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - tools/regression/pjdfstest/tests/chflags/12.t
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / tools / regression / pjdfstest / tests / chflags / 12.t
1 #!/bin/sh
2 # $FreeBSD$
3
4 desc="chflags returns EROFS if the named file resides on a read-only file system"
5
6 dir=`dirname $0`
7 . ${dir}/../misc.sh
8
9 require chflags
10
11 case "${os}:${fs}" in
12 FreeBSD:UFS)
13         echo "1..14"
14
15         n0=`namegen`
16         n1=`namegen`
17
18         expect 0 mkdir ${n0} 0755
19         n=`mdconfig -a -n -t malloc -s 1m`
20         newfs /dev/md${n} >/dev/null
21         mount /dev/md${n} ${n0}
22         expect 0 create ${n0}/${n1} 0644
23         expect 0 chflags ${n0}/${n1} UF_IMMUTABLE
24         expect UF_IMMUTABLE stat ${n0}/${n1} flags
25         expect 0 chflags ${n0}/${n1} none
26         expect none stat ${n0}/${n1} flags
27         mount -ur /dev/md${n}
28         expect EROFS chflags ${n0}/${n1} UF_IMMUTABLE
29         expect none stat ${n0}/${n1} flags
30         mount -uw /dev/md${n}
31         expect 0 chflags ${n0}/${n1} UF_IMMUTABLE
32         expect UF_IMMUTABLE stat ${n0}/${n1} flags
33         expect 0 chflags ${n0}/${n1} none
34         expect none stat ${n0}/${n1} flags
35         expect 0 unlink ${n0}/${n1}
36         umount /dev/md${n}
37         mdconfig -d -u ${n}
38         expect 0 rmdir ${n0}
39         ;;
40 FreeBSD:ZFS)
41         echo "1..12"
42
43         n0=`namegen`
44         n1=`namegen`
45
46         n=`mdconfig -a -n -t malloc -s 128m`
47         zpool create ${n0} /dev/md${n}
48         expect 0 create /${n0}/${n1} 0644
49         expect 0 chflags /${n0}/${n1} UF_NODUMP
50         expect UF_NODUMP stat /${n0}/${n1} flags
51         expect 0 chflags /${n0}/${n1} none
52         expect none stat /${n0}/${n1} flags
53         zfs set readonly=on ${n0}
54         expect EROFS chflags /${n0}/${n1} UF_NODUMP
55         expect none stat /${n0}/${n1} flags
56         zfs set readonly=off ${n0}
57         expect 0 chflags /${n0}/${n1} UF_NODUMP
58         expect UF_NODUMP stat /${n0}/${n1} flags
59         expect 0 chflags /${n0}/${n1} none
60         expect none stat /${n0}/${n1} flags
61         expect 0 unlink /${n0}/${n1}
62         zpool destroy ${n0}
63         mdconfig -d -u ${n}
64         ;;
65 *)
66         quick_exit
67         ;;
68 esac