bin/124915: bsdtar creates files with bogus access times
Peter Schuller
peter.schuller at infidyne.com
Mon Jun 23 22:30:02 UTC 2008
>Number: 124915
>Category: bin
>Synopsis: bsdtar creates files with bogus access times
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Jun 23 22:30:02 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator: Peter Schuller
>Release: 7.0-RELEASE-p1
>Organization:
>Environment:
FreeBSD host 7.0-RELEASE-p1 FreeBSD 7.0-RELEASE-p1 #2: Sat Apr 19 19:15:39 CEST 2008 user at host:/usr/obj/usr/src/sys/GENERIC amd64
>Description:
When extracting files, bsdtar creates files with a bogus access time of 0 seconds since the epoch. Other than being generally unexpected (to me), it has the practical implication that on a system running tmpwatch/tmpreaper, things untarred by bsdtar don't survive for long.
Unless the archive preserves access time and bsdtar is asked to preserve it (I don't believe this is supported however?), I would expect the access time to remain untouched, or at least set to >= creation time.
>How-To-Repeat:
% ls -l
total 0
% touch testfile
% stat -x testfile
File: "testfile"
Size: 0 FileType: Regular File
Mode: (0644/-rw-r--r--) Uid: ( 1001/ scode) Gid: ( 0/ wheel)
Device: 98,4164878385 Inode: 1424746 Links: 1
Access: Tue Jun 24 00:20:59 2008
Modify: Tue Jun 24 00:20:59 2008
Change: Tue Jun 24 00:20:59 2008
% tar -cf testfile.tar testfile
% tar -xf testfile.tar
% stat -x testfile
File: "testfile"
Size: 0 FileType: Regular File
Mode: (0644/-rw-r--r--) Uid: ( 1001/ scode) Gid: ( 0/ wheel)
Device: 98,4164878385 Inode: 1424748 Links: 1
Access: Thu Jan 1 01:00:00 1970
Modify: Tue Jun 24 00:20:59 2008
Change: Tue Jun 24 00:21:18 2008
>Fix:
No patch. Determined that bsdtar uses archive_read_extract() for extraction, but did not dig into the archive library.
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list