16.t revision 271294
1178476Sjb#!/bin/sh
2178476Sjb# $FreeBSD: head/tools/regression/pjdfstest/tests/link/16.t 211352 2010-08-15 21:24:17Z pjd $
3178476Sjb
4178476Sjbdesc="link returns EROFS if the requested link requires writing in a directory on a read-only file system"
5178476Sjb
6178476Sjbdir=`dirname $0`
7178476Sjb. ${dir}/../misc.sh
8178476Sjb
9178476Sjb[ "${os}" = "FreeBSD" ] || quick_exit
10178476Sjb
11178476Sjbecho "1..9"
12178476Sjb
13178476Sjbn0=`namegen`
14178476Sjbn1=`namegen`
15178476Sjbn2=`namegen`
16178476Sjb
17178476Sjbexpect 0 mkdir ${n0} 0755
18178476Sjbn=`mdconfig -a -n -t malloc -s 1m`
19178476Sjbnewfs /dev/md${n} >/dev/null
20178476Sjbmount /dev/md${n} ${n0}
21178476Sjbexpect 0 create ${n0}/${n1} 0644
22178476Sjb
23178476Sjbexpect 0 link ${n0}/${n1} ${n0}/${n2}
24178476Sjbexpect 0 unlink ${n0}/${n2}
25178476Sjbmount -ur /dev/md${n}
26178476Sjbexpect EROFS link ${n0}/${n1} ${n0}/${n2}
27178476Sjbmount -uw /dev/md${n}
28178476Sjbexpect 0 link ${n0}/${n1} ${n0}/${n2}
29178476Sjbexpect 0 unlink ${n0}/${n2}
30178476Sjb
31178476Sjbexpect 0 unlink ${n0}/${n1}
32178476Sjbumount /dev/md${n}
33178476Sjbmdconfig -d -u ${n}
34178476Sjbexpect 0 rmdir ${n0}
35178476Sjb