Hi there Sam,
On Thu, Sep 09, 2004 at 07:38:49PM -0400, Sam Varshavchik wrote:
From your strace:
rename("confmdtest/tmp/1094656838.M69783P2446_acl.testbed.kailee.net",
"confmdtest/courierimaphieracl/foobar") = 0
followed by:
stat64("confmdtest/courierimaphieracl/foobar", {st_mode=S_IFREG|0644,
st_size=27, ???}) = 0
unlink("confmdtest/courierimaphieracl/foobar") = 0
The stat/unlink calls come from here:
if (stat(p, &stat_buf) == 0 &&
stat_buf.st_mtime < now - 60*60)
unlink(p);
The unlink should not happen unless the timestamp is one hour old. Except
that this file was created only a few milliseconds ago. Bzzzzzt. make
check fails.
I've tried to reduce the problem down to the simple test case
above (see attached script and test prog) - but this seems to
do the right thing ...
[root@bruce test]# ./foo
+ rm -fr confmdtest
+ mkdir -p confmdtest/tmp confmdtest/courierimaphieracl
+ touch confmdtest/tmp/1094656838.M69783P2446_acl.testbed.kailee.net
+ ./a.out confmdtest/tmp/1094656838.M69783P2446_acl.testbed.kailee.net
confmdtest/courierimaphieracl/foobar
OK: mtime=1094774209 now-60*60=1094770609
[root@bruce test]#
I dimly recall someone mentioning an issue with st_mtime on XFS, a long time
ago.
I'm not aware of any - do you remember any of the details there?
thanks!
ps: does the attached script+test fail for you, Kai?