cvs commit: src/lib/libarchive archive.h.in archive_private.h archive_read.c archive_read_open_fd.c archive_read_open_file.c archive_read_support_compression_bzip2.c archive_read_support_compression_compress.c archive_read_support_compression_gzip.c archive_read_support_compression_none.c archive_read_support_format_tar.c

Tim Kientzle kientzle at FreeBSD.org
Sun Jul 30 00:29:01 UTC 2006


kientzle    2006-07-30 00:29:01 UTC

  FreeBSD src repository

  Modified files:
    lib/libarchive       archive.h.in archive_private.h 
                         archive_read.c archive_read_open_fd.c 
                         archive_read_open_file.c 
                         archive_read_support_compression_bzip2.c 
                         archive_read_support_compression_compress.c 
                         archive_read_support_compression_gzip.c 
                         archive_read_support_compression_none.c 
                         archive_read_support_format_tar.c 
  Log:
  Use 'skip' when ignoring data in tar archives.  This dramatically
  increases performance when extracting a single entry from a large
  uncompressed archive, especially on slow devices such as USB hard
  drives.
  
  Requires a number of changes:
     * New archive_read_open2() supports a 'skip' client function
     * Old archive_read_open() is implemented as a wrapper now, to
       continue supporting the old API/ABI.
     * _read_open_fd and _read_open_file sprout new 'skip' functions.
     * compression layer gets a new 'skip' operation.
     * compression_none passes skip requests through to client.
     * compression_{gzip,bzip2,compress} simply ignore skip requests.
  
  Thanks to: Benjamin Lutz, who designed and implemented the whole thing.
     I'm just committing it.  ;-)
  
  TODO: Need to update the documentation a little bit.
  
  Revision  Changes    Path
  1.30      +10 -3     src/lib/libarchive/archive.h.in
  1.22      +2 -0      src/lib/libarchive/archive_private.h
  1.21      +15 -0     src/lib/libarchive/archive_read.c
  1.6       +45 -3     src/lib/libarchive/archive_read_open_fd.c
  1.10      +47 -2     src/lib/libarchive/archive_read_open_file.c
  1.9       +1 -0      src/lib/libarchive/archive_read_support_compression_bzip2.c
  1.5       +1 -0      src/lib/libarchive/archive_read_support_compression_compress.c
  1.10      +1 -0      src/lib/libarchive/archive_read_support_compression_gzip.c
  1.7       +72 -0     src/lib/libarchive/archive_read_support_compression_none.c
  1.42      +46 -1     src/lib/libarchive/archive_read_support_format_tar.c


More information about the cvs-all mailing list