1#!/bin/sh
2# $FreeBSD: src/tools/regression/fstest/tests/chflags/12.t,v 1.1 2007/01/17 01:42:08 pjd Exp $
3
4desc="chflags returns EROFS if the named file resides on a read-only file system"
5
6n0=`namegen`
7n1=`namegen`
8
9expect 0 mkdir ${n0} 0755
10dd if=/dev/zero of=tmpdisk bs=1k count=1024 status=none
11vnconfig vnd1 tmpdisk
12newfs /dev/rvnd1c >/dev/null
13mount /dev/vnd1c ${n0}
14expect 0 create ${n0}/${n1} 0644
15expect 0 chflags ${n0}/${n1} UF_IMMUTABLE
16expect UF_IMMUTABLE stat ${n0}/${n1} flags
17expect 0 chflags ${n0}/${n1} none
18expect none stat ${n0}/${n1} flags
19mount -ur /dev/vnd1c
20expect EROFS chflags ${n0}/${n1} UF_IMMUTABLE
21expect none stat ${n0}/${n1} flags
22mount -uw /dev/vnd1c
23expect 0 chflags ${n0}/${n1} UF_IMMUTABLE
24expect UF_IMMUTABLE stat ${n0}/${n1} flags
25expect 0 chflags ${n0}/${n1} none
26expect none stat ${n0}/${n1} flags
27expect 0 unlink ${n0}/${n1}
28umount /dev/vnd1c
29vnconfig -u vnd1
30rm tmpdisk
31expect 0 rmdir ${n0}
32