4 desc="rename changes file name"
16 expect 0 mkdir ${n3} 0755
20 for type in regular fifo block char socket; do
21 create_file ${type} ${n0} 0644
22 expect ${type},0644,1 lstat ${n0} type,mode,nlink
23 inode=`${fstest} lstat ${n0} inode`
24 expect 0 rename ${n0} ${n1}
25 expect ENOENT lstat ${n0} type,mode,nlink
26 expect ${type},${inode},0644,1 lstat ${n1} type,inode,mode,nlink
27 expect 0 link ${n1} ${n0}
28 expect ${type},${inode},0644,2 lstat ${n0} type,inode,mode,nlink
29 expect ${type},${inode},0644,2 lstat ${n1} type,inode,mode,nlink
30 expect 0 rename ${n1} ${n2}
31 expect ${type},${inode},0644,2 lstat ${n0} type,inode,mode,nlink
32 expect ENOENT lstat ${n1} type,mode,nlink
33 expect ${type},${inode},0644,2 lstat ${n2} type,inode,mode,nlink
38 expect 0 mkdir ${n0} 0755
39 expect dir,0755 lstat ${n0} type,mode
40 inode=`${fstest} lstat ${n0} inode`
41 expect 0 rename ${n0} ${n1}
42 expect ENOENT lstat ${n0} type,mode
43 expect dir,${inode},0755 lstat ${n1} type,inode,mode
46 expect 0 create ${n0} 0644
47 rinode=`${fstest} lstat ${n0} inode`
48 expect regular,0644 lstat ${n0} type,mode
49 expect 0 symlink ${n0} ${n1}
50 sinode=`${fstest} lstat ${n1} inode`
51 expect regular,${rinode},0644 stat ${n1} type,inode,mode
52 expect symlink,${sinode} lstat ${n1} type,inode
53 expect 0 rename ${n1} ${n2}
54 expect regular,${rinode},0644 stat ${n0} type,inode,mode
55 expect ENOENT lstat ${n1} type,mode
56 expect symlink,${sinode} lstat ${n2} type,inode
60 # successful rename(2) updates ctime.
61 for type in regular dir fifo block char socket symlink; do
62 create_file ${type} ${n0}
63 ctime1=`${fstest} lstat ${n0} ctime`
65 expect 0 rename ${n0} ${n1}
66 ctime2=`${fstest} lstat ${n1} ctime`
67 test_check $ctime1 -lt $ctime2
68 if [ "${type}" = "dir" ]; then
75 # unsuccessful link(2) does not update ctime.
76 for type in regular dir fifo block char socket symlink; do
77 create_file ${type} ${n0}
78 ctime1=`${fstest} lstat ${n0} ctime`
80 expect EACCES -u 65534 rename ${n0} ${n1}
81 ctime2=`${fstest} lstat ${n0} ctime`
82 test_check $ctime1 -eq $ctime2
83 if [ "${type}" = "dir" ]; then