[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug-tar] "file changed as we read it" on MacOS X
From: |
Bruno Haible |
Subject: |
[Bug-tar] "file changed as we read it" on MacOS X |
Date: |
Sat, 24 Dec 2011 07:57:57 +0100 |
User-agent: |
KMail/1.13.6 (Linux/2.6.37.6-0.5-desktop; KDE/4.6.0; x86_64; ; ) |
Hi,
On MacOS X 10.5.8, with GNU tar 1.15.1, I'm seeing spurious
"file changed as we read it" messages.
$ tar cf - * | (cd /Volumes/ExtData\ 1 && tar xf -)
tar: source/gnu/coreutils/coreutils-8.10.tar.gz: file changed as we read it
tar:
source/newest/autoconf-git/autoconf/.git/objects/a2/3101e691e70cfe012e92972c6246ac9e4b77ff:
file changed as we read it
tar:
source/newest/autoconf-git/autoconf/.git/objects/pack/pack-daff51c2dcb6480adc3e896592c1d39458518d6c.pack:
file changed as we read it
tar:
source/newest/autoconf-git/autoconf/.git/objects/pack/pack-ec56017ee8785d4489a2b63d2315fdd9f3f505b5.pack:
file changed as we read it
tar:
source/newest/automake-git/automake/.git/objects/pack/pack-23eb2e17fe3034bd40bf742331e05bd9ad25afa3.pack:
file changed as we read it
tar:
source/newest/automake-git/automake/.git/objects/pack/pack-7b4533c625c3bf6c50258502e9968ee8a47c02bd.pack:
file changed as we read it
tar:
source/newest/bison-git/bison/.git/objects/pack/pack-af6a4284e938cbd2e4ca00d81e3d9c61b080d931.pack:
file changed as we read it
tar: source/newest/clisp-cvs-anynomous/clisp/doc/impnotes.html: file changed as
we read it
tar: source/newest/clisp-cvs-anynomous/clisp/src/ChangeLog: file changed as we
read it
tar: source/newest/clisp-hg/clisp/.hg/store/00manifest.d: file changed as we
read it
tar: source/newest/clisp-hg/clisp/.hg/store/data/src/_change_log.d: file
changed as we read it
tar: source/newest/clisp-hg/clisp/doc/impnotes.html: file changed as we read it
tar:
source/newest/coreutils-git/coreutils/.git/objects/pack/pack-574ba8563ce17957cd523b0a657e7902cdea74fb.pack:
file changed as we read it
tar:
source/newest/coreutils-git/coreutils/.git/objects/pack/pack-66619a932bbeb980b7b52c55bea8643a3ea253d4.pack:
file changed as we read it
tar:
source/newest/coreutils-git/coreutils/.git/objects/pack/pack-a0798ec6b3b6c1106e91919a5dc38565fdd46e31.pack:
file changed as we read it
tar: source/newest/emacs-git/emacs/.git/gitk.cache: file changed as we read it
tar:
source/newest/emacs-git/emacs/.git/objects/pack/pack-2cfb4d88099d798bf15e17ba67fe14d2ce2a420f.idx:
file changed as we read it
tar: source/newest/gmp-hg/gmp/.hg/store/00manifest.d: file changed as we read it
tar: source/newest/gmp-hg/gmp/.hg/store/fncache: file changed as we read it
tar:
source/newest/grep-git/grep/.git/objects/pack/pack-a5b64ecbf6e5a15cb7efb14fd5cce5c391767cd9.pack:
file changed as we read it
tar:
source/newest/libtool-git/libtool/.git/objects/pack/pack-16746b45b083c7900bbae629962d589a10d0e751.pack:
file changed as we read it
tar:
source/newest/m4-git/m4-branch-1.4/.git/objects/pack/pack-06097b65ba7b944b67e198ea08725d0687bbe25c.pack:
file changed as we read it
tar:
source/newest/m4-git/m4-branch-1.6/.git/objects/pack/pack-4fcc00a1f64eca5c7f8be90826ab560570ff61e5.pack:
file changed as we read it
tar: source/newest/octave-hg/octave/.hg/store/fncache: file changed as we read
it
As you can see, the particular (few) files which triggered these messages
have indeed a "change" time that falls into the time interval of the tar
command:
$ ls -lrtc source/gnu/coreutils/
total 557872
-rw-r--r-- 1 admin staff 3501022 23 Feb 2007 coreutils-20050520.tar.bz2
-rw-r--r-- 1 admin staff 5930484 23 Feb 2007 coreutils-20060430.tar.gz
-rw-r--r-- 1 admin staff 6564837 23 Feb 2007 coreutils-5.2.1.tar.gz
-rw-r--r-- 1 admin staff 7495513 23 Feb 2007 coreutils-5.92.tar.gz
-rw-r--r-- 1 admin staff 7585366 23 Feb 2007 coreutils-5.93.tar.gz
-rw-r--r-- 1 admin staff 7860453 23 Feb 2007 coreutils-5.94.tar.gz
-rw-r--r-- 1 admin staff 7860755 23 Feb 2007 coreutils-5.95.tar.gz
-rw-r--r-- 1 admin staff 5064684 23 Feb 2007 coreutils-5.97.tar.bz2
-rw-r--r-- 1 admin staff 7890721 23 Feb 2007 coreutils-5.96.tar.gz
-rw-r--r-- 1 admin staff 8280892 23 Feb 2007 coreutils-6.0.tar.gz
-rw-r--r-- 1 admin staff 7778578 23 Feb 2007 coreutils-6.3.tar.gz
-rw-r--r-- 1 admin staff 7850655 23 Feb 2007 coreutils-6.3a.tar.gz
-rw-r--r-- 1 admin staff 8021033 23 Feb 2007 coreutils-6.4.tar.gz
-rw-r--r-- 1 admin staff 8054526 23 Feb 2007 coreutils-6.5.tar.gz
-rw-r--r-- 1 admin staff 8057533 23 Feb 2007 coreutils-6.6.tar.gz
-rw-r--r-- 1 admin staff 8013852 23 Feb 2007 coreutils-6.7.tar.gz
-rw-r--r-- 1 admin staff 8194001 24 Mär 2007 coreutils-6.9.tar.gz
-rw-r--r-- 1 admin staff 8893255 4 Nov 2007 coreutils-6.9-375-3e3f8.tar.gz
-rw-r--r-- 1 admin staff 9193125 2 Feb 2008 coreutils-6.10.tar.gz
-rw-r--r-- 1 admin staff 9095150 20 Apr 2008 coreutils-6.11.tar.gz
-rw-r--r-- 1 admin staff 8995806 30 Mai 2008
coreutils-6.11.104-00a30.tar.gz
-rw-r--r-- 1 admin staff 9001890 1 Jun 2008 coreutils-6.12.tar.gz
-rw-r--r-- 1 admin staff 9533070 3 Mär 2009 coreutils-7.1.tar.gz
-rw-r--r-- 1 admin staff 9690396 3 Mai 2009 coreutils-7.3.tar.gz
-rw-r--r-- 1 admin staff 9956013 8 Nov 2009 coreutils-7.5.tar.gz
-rw-r--r-- 1 admin staff 10379352 21 Nov 2009 coreutils-8.1.tar.gz
-rw-r--r-- 1 admin staff 10734711 8 Jan 2010 coreutils-8.3.tar.gz
-rw-r--r-- 1 admin staff 10519759 23 Feb 2010 coreutils-8.4.tar.gz
-rw-r--r-- 1 admin staff 11250122 22 Jan 2011 coreutils-8.9.tar.gz
-rw-r--r-- 1 admin staff 11495445 26 Apr 2011 coreutils-8.11.tar.gz
-rw-r--r-- 1 admin staff 11496560 26 Apr 2011 coreutils-8.12.tar.gz
-rw-r--r-- 1 admin staff 10014650 22 Dez 12:20 coreutils-7.6.tar.gz
-rw-r--r-- 1 admin staff 11310572 23 Dez 00:17 coreutils-8.10.tar.gz
$ ls -lrtc source/newest/grep-git/grep/.git/objects/pack
total 5824
-r--r--r-- 1 admin staff 139924 20 Mär 2010
pack-a5b64ecbf6e5a15cb7efb14fd5cce5c391767cd9.idx
-r--r--r-- 1 admin staff 147165 24 Mär 2010
pack-cf835197aa8a2424472c656fc0aa7fae42203b11.pack
-r--r--r-- 1 admin staff 5972 24 Mär 2010
pack-cf835197aa8a2424472c656fc0aa7fae42203b11.idx
-r--r--r-- 1 admin staff 311897 24 Mai 2010
pack-3326dea8947daf48979e3b05104bd5b08cc81351.pack
-r--r--r-- 1 admin staff 23192 24 Mai 2010
pack-3326dea8947daf48979e3b05104bd5b08cc81351.idx
-r--r--r-- 1 admin staff 437151 24 Sep 16:01
pack-9b98a444409e717f936992f451d7a589d1ce310a.pack
-r--r--r-- 1 admin staff 25292 24 Sep 16:01
pack-9b98a444409e717f936992f451d7a589d1ce310a.idx
-r--r--r-- 1 admin staff 1873926 23 Dez 01:06
pack-a5b64ecbf6e5a15cb7efb14fd5cce5c391767cd9.pack
More about the circumstances:
* The tar command copied the contents of a 90 GB partition.
* This disk is formatted in HFS+ (with case distinction and journaling).
* This disk is NFS exported, but at the time the tar command ran,
it was not mounted by any NFS client.
* It is possible that the MacOS X "Spotlight" indexer daemon and the
MacOS X "Time Machine" incremental backup were running at the same time.
* The messages all occurred in two subdirectories sources/{gnu,newest}
that occupy 10 GB. The other 80 GB of data on the disk did not trigger
these messages. What is particular about these subdirectories, is that I
often access them through NFS mounts from a Linux machine (both reading
and writing). All the */.hg/store/* and */.git/objects/pack/* files
were created and written through NFS. But note that some of these changes
date back several months (and multiple reboots of the MacOS X machine)
in time.
* When I tarred up the disk's contents once again
("tar cf - . | cat > /dev/null"), no such messages occurred any more.
I therefore get the impression that when 'tar' opens the files for reading,
the OS executes some kinds of "pending" changes on the files, which has the
side effect of bumping the "change" time of the files. Accessing files
through NFS appears to have a certain, small probability of creating such
"pending" changes.
Does that sound plausible?
Bruno
- [Bug-tar] "file changed as we read it" on MacOS X,
Bruno Haible <=