]> git.ipfire.org Git - thirdparty/libarchive.git/commit
Rework the file handling here to explicitly probe the type of input
authorTim Kientzle <kientzle@gmail.com>
Mon, 22 Feb 2010 00:10:53 +0000 (19:10 -0500)
committerTim Kientzle <kientzle@gmail.com>
Mon, 22 Feb 2010 00:10:53 +0000 (19:10 -0500)
commit732d3dea3c7be01a19b0e01258cc1fae863f38db
tree8e3f545514fc7b7ab37f499a9f6bbdbf0000cf40
parent50f8302a14f0c3b8225e93ebc5007db1a7b6841c
Rework the file handling here to explicitly probe the type of input
we're using and use that to determine an explicit I/O strategy.  This
was largely inspired by an email exchange with Duane Hesser, who
clarified some of the issues involved in doing high-quality tape
handling.  I think the approach here will make it much easier to
provide optimized I/O strategies for tape and sockets.

Because of these changes, reading the directory of an ISO image stored
on a raw device (via "tar tvf /dev/cd0", for example) is about 100x
faster due to a combination of better detection of "disk-like" devices
and a more suitable strategy for handling forward skip requests.
Extracting tar devices stored on one disk drive onto a physically
separate drive should also be significantly faster because we
now do block-size cheating on disk-like devices.

SVN-Revision: 1948
libarchive/archive_read_open_filename.c