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?
--
Nathan
foo
Description: Text document
test.c
Description: Text Data
|