Output of ar has truncated timestamps on fuse.encfs

Nicholas Clifton nickc@redhat.com
Tue Dec 23 13:18:00 GMT 2014


Hi Gauthier,

> 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%
> /home/gauthier/tmp/ar_fuse_encfs_test/dec
> 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.

Cheers
   Nick




More information about the Binutils mailing list