Bsdtar and archive torture tests
Ed Maste
emaste at phaedrus.sandvine.ca
Mon Sep 26 12:58:12 PDT 2005
In 16.11 "Backup Basics" the handbook mentions a paper by Elizabeth D.
Zwicky and presented at LISA V in 1991. She tested a number of archive
and backup programs, including GNU tar and other tar implementations,
and dump/restore. I've found that she's presented an updated version
of the paper at LISA XVII in 2003[1].
I ran the set of testcases she developed against gtar and bsdtar, after
deleting the "holes" subdirectory. (The test included a sparse file with
a 0.5TB hole. Without support for sparse files, bsdtar quickly filled
my disk so I didn't bother with those tests.)
To run the test, I did
cd /d2/archive_test/original
tar -cf /d2/archive_test/bsdtar.tar .
cd /d2/archive_test/bsdtar_recovered
tar -xpf /d2/archive_test/bsdtar.tar
perl dircmp.pl original bsdtar_recovered | less
The dircmp.pl script produced more than 60000 lines of the form
Symlink target changed from ../longfilenames/84<C3><A0><C3><A0><C3><A0><C3><A0><C3><A0><C3><A0><C3><A0><C3><A0><C3><A0><C3><A0><C3><A0><C3>
<A0><C3><A0><C3><A0><C3><A0><C3><A0><C3><A0><C3><A0><C3><A0><C3><A0><C3><A0><C3><A0><C3><A0><C3><A0><C3><A0><C3><A0><C3><A0><C3><A0><C3><A0>
<C3><A0><C3><A0><C3><A0><C3><A0><C3><A0><C3><A0><C3><A0><C3><A0><C3><A0><C3><A0><C3><A0><C3><A0> to ../longfilenames/84<E0><E0><E0><E0><E0>
<E0><E0><E0><E0><E0><E0><E0><E0><E0><E0><E0><E0><E0><E0><E0><E0><E0><E0><E0><E0><E0><E0><E0><E0><E0><E0><E0><E0><E0><E0><E0><E0><E0><E0><E0>
<E0>
as well as some other issues. It appears that all of the "symlink
target changed" cases have both a long name and some high-bit
characters. I haven't had any time to look into what might cause
this, but just wanted to mention the availability of these testcases
and some initial results.
For reference, gtar runs into a few issues with long names, but doesn't
change symlink targets.
[1] http://www.usenix.org/events/lisa03/tech/full_papers/zwicky/zwicky_html/index.html
--
Ed Maste, Sandvine Incorporated
More information about the freebsd-current
mailing list