Output of ar has truncated timestamps on fuse.encfs
Tue Dec 23 13:18:00 GMT 2014
> Timestamp of the ar output is truncated after the seconds, if the
> current filesystem is of type fuse.encfs.
> gauthier@sobel:~/tmp/ar_fuse_encfs_test $ encfs
> ~/tmp/ar_fuse_encfs_test/enc ~/tmp/ar_fuse_encfs_test/dec
> gauthier@sobel:~/tmp/ar_fuse_encfs_test $ df -T dec
> Filesystem Type 1K-blocks Used Available Use% Mounted on
> encfs fuse.encfs 961301832 411164152 501283256 46%
> gauthier@sobel:~/tmp/ar_fuse_encfs_test $ cd dec
> gauthier@sobel:~/tmp/ar_fuse_encfs_test/dec $ make
> gcc -c hello.c -o hello.o -g -Wall -Wextra -Werror -O3 -lrt -pthread
> ar -cvq hello.a hello.o
> a - hello.o
> gauthier@sobel:~/tmp/ar_fuse_encfs_test/dec $ ll --full-time
> total 24
> -rw-rw-r-- 1 gauthier gauthier 6022 2014-11-24 12:59:30.000000000 +0100 hello.a
> -rw-rw-r-- 1 gauthier gauthier 81 2014-11-24 12:57:38.048545000 +0100 hello.c
> -rw-rw-r-- 1 gauthier gauthier 5880 2014-11-24 12:59:30.703129595 +0100 hello.o
> -rw-rw-r-- 1 gauthier gauthier 259 2014-11-24 12:57:46.928434000 +0100 makefile
> (see timestamp for hello.a)
> I got confused as to why ar was running when it should have been
> unnecessary, when running make a second time. The lib looks like it's
> older than the object file.
> I am not sure if it is an issue with ar or with encfs. The object file
> does get a correct timestamp. Please tell me if it's an encfs problem,
> and I'll post there.
I think that this must be an encfs problem because:
a. It has not been reported against any other file system.
b. The ar program does not set the timestamp on the archive, the
filesystem does that itself. AR can control the timestamps of the
object files stored within an archive, but it cannot control how the
filesystem set the timestamp of the full archive itself.
More information about the Binutils