Skip to content

Commit 8af5670

Browse files
author
Jean-Pierre André
committed
Fixed updating ctime on SunOS:UFS when hard linking fails
Posix does not tell whether ctime should be updated when a hard linking is rejected, and most file systems do not update ctime. However UFS on SunOS does update, and the test now accepts this behavior.
1 parent 03c16ad commit 8af5670

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

tests/link/00.t

+19-2
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ expect 0 unlink ${n0}
117117
expect 0 unlink ${n1}
118118

119119
# unsuccessful link(2) does not update ctime.
120+
# Posix only mentions ctime to be updated on successful completion
120121
expect 0 create ${n0} 0644
121122
expect 0 -- chown ${n0} 65534 -1
122123
ctime1=`${fstest} stat ${n0} ctime`
@@ -125,7 +126,15 @@ dmtime1=`${fstest} stat . mtime`
125126
sleep 1
126127
expect EACCES -u 65534 link ${n0} ${n1}
127128
ctime2=`${fstest} stat ${n0} ctime`
128-
test_check $ctime1 -eq $ctime2
129+
# 71
130+
case "${os}:${fs}" in
131+
SunOS:UFS)
132+
test_check $ctime1 -lt $ctime2
133+
;;
134+
*)
135+
test_check $ctime1 -eq $ctime2
136+
;;
137+
esac
129138
dctime2=`${fstest} stat . ctime`
130139
test_check $dctime1 -eq $dctime2
131140
dmtime2=`${fstest} stat . mtime`
@@ -140,7 +149,15 @@ dmtime1=`${fstest} stat . mtime`
140149
sleep 1
141150
expect EACCES -u 65534 link ${n0} ${n1}
142151
ctime2=`${fstest} stat ${n0} ctime`
143-
test_check $ctime1 -eq $ctime2
152+
# 78
153+
case "${os}:${fs}" in
154+
SunOS:UFS)
155+
test_check $ctime1 -lt $ctime2
156+
;;
157+
*)
158+
test_check $ctime1 -eq $ctime2
159+
;;
160+
esac
144161
dctime2=`${fstest} stat . ctime`
145162
test_check $dctime1 -eq $dctime2
146163
dmtime2=`${fstest} stat . mtime`

0 commit comments

Comments
 (0)