]> wimlib.net Git - wimlib/log
wimlib
9 years agoLCP-interval tree matchfinder improvements
Eric Biggers [Fri, 13 Feb 2015 07:13:15 +0000 (01:13 -0600)]
LCP-interval tree matchfinder improvements

- Adjust the algorithm to remove the need to have an "unvisited" flag in
  normal mode.
- Prefetch upcoming SA_and_LCP entries during LCP construction.
- Get rid of lcpit_matchfinder_templates.h, since the "huge mode"
  algorithm isn't quite the same as the regular algorithm anymore.
- Improve documentation.

9 years agoSupport "destructive" compression to save memory
Eric Biggers [Sun, 15 Feb 2015 00:30:24 +0000 (18:30 -0600)]
Support "destructive" compression to save memory

9 years agoReduce unnecessary copying during chunk compression
Eric Biggers [Sat, 14 Feb 2015 22:03:28 +0000 (16:03 -0600)]
Reduce unnecessary copying during chunk compression

9 years agoAdd flag for disabling solid sort
Eric Biggers [Sat, 14 Feb 2015 20:58:45 +0000 (14:58 -0600)]
Add flag for disabling solid sort

9 years agoHeuristic sorting of streams for solid compression
Eric Biggers [Sat, 14 Feb 2015 16:47:56 +0000 (10:47 -0600)]
Heuristic sorting of streams for solid compression

9 years agoUpdate documentation for wimcapture
Eric Biggers [Sat, 14 Feb 2015 05:39:24 +0000 (23:39 -0600)]
Update documentation for wimcapture

9 years agowimlib-imagex: allow specifying suffix in chunk size options
Eric Biggers [Sat, 14 Feb 2015 04:53:50 +0000 (22:53 -0600)]
wimlib-imagex: allow specifying suffix in chunk size options

9 years agoConsistently use the name "solid resource"
Eric Biggers [Sat, 14 Feb 2015 04:04:41 +0000 (22:04 -0600)]
Consistently use the name "solid resource"

9 years agoRewrite of LZMS compressor
Eric Biggers [Fri, 13 Feb 2015 01:01:06 +0000 (19:01 -0600)]
Rewrite of LZMS compressor

- Delta match support
- Multi-step item consideration in selected cases
- Various refactoring; updates to comments and names; some changes to
  decompressor as well
- Remove pthreads dependency

9 years agolzms_decompress.c: Adjust names in delta match decompression code
Eric Biggers [Sat, 7 Feb 2015 03:59:47 +0000 (21:59 -0600)]
lzms_decompress.c: Adjust names in delta match decompression code

9 years agolzms_decompress.c: Add more information about delta matches
Eric Biggers [Sat, 7 Feb 2015 03:59:11 +0000 (21:59 -0600)]
lzms_decompress.c: Add more information about delta matches

9 years agoSuffix array based matchfinder updates
Eric Biggers [Sat, 31 Jan 2015 23:51:23 +0000 (17:51 -0600)]
Suffix array based matchfinder updates

- Move LCP-interval tree matchfinder to lcpit_matchfinder.c
- Support buffer sizes > 2^25 in LCP-interval tree matchfinder
- Reduce code duplication in LCP-interval tree routines
- Remove linked suffix array matchfinder
- Remove lz_mf matchfinder API
- Update LZMS compressor to use new LCP-interval tree matchfinder routines

9 years ago1.7.5-BETA3
Eric Biggers [Fri, 30 Jan 2015 03:59:35 +0000 (21:59 -0600)]
1.7.5-BETA3

9 years agoMove errno translation to win32_replacements.c
Eric Biggers [Fri, 30 Jan 2015 03:24:57 +0000 (21:24 -0600)]
Move errno translation to win32_replacements.c

9 years agoWindows: improved error messages
Eric Biggers [Fri, 30 Jan 2015 01:16:28 +0000 (19:16 -0600)]
Windows: improved error messages

9 years agowin32_apply.c: in NO_ATTRIBUTES mode, reset file attributes
Eric Biggers [Fri, 30 Jan 2015 01:28:31 +0000 (19:28 -0600)]
win32_apply.c: in NO_ATTRIBUTES mode, reset file attributes

9 years agowin32-test-imagex-capture_and_apply.bat: fixes
Eric Biggers [Fri, 30 Jan 2015 00:46:30 +0000 (18:46 -0600)]
win32-test-imagex-capture_and_apply.bat: fixes

9 years agowin32_apply.c: adjust file creation
Eric Biggers [Thu, 29 Jan 2015 05:37:28 +0000 (23:37 -0600)]
win32_apply.c: adjust file creation

9 years agowin32-tree-cmp: Ignore directory sizes
Eric Biggers [Thu, 29 Jan 2015 06:25:19 +0000 (00:25 -0600)]
win32-tree-cmp: Ignore directory sizes

9 years agowin32-test-imagex-capture_and_apply.bat: add tests for empty named stream
Eric Biggers [Thu, 29 Jan 2015 05:13:36 +0000 (23:13 -0600)]
win32-test-imagex-capture_and_apply.bat: add tests for empty named stream

9 years agowin32-test-imagex-capture_and_apply.bat: add some tests
Eric Biggers [Thu, 29 Jan 2015 04:26:11 +0000 (22:26 -0600)]
win32-test-imagex-capture_and_apply.bat: add some tests

9 years agowin32-tree-cmp updates
Eric Biggers [Thu, 29 Jan 2015 03:05:30 +0000 (21:05 -0600)]
win32-tree-cmp updates

9 years agontfs-3g_apply.c: Don't claim to support encrypted directories
Eric Biggers [Thu, 29 Jan 2015 02:36:36 +0000 (20:36 -0600)]
ntfs-3g_apply.c: Don't claim to support encrypted directories

9 years agoUpdate NEWS
Eric Biggers [Wed, 28 Jan 2015 05:28:48 +0000 (23:28 -0600)]
Update NEWS

9 years agowin32_apply.c: fix restore of encrypted files and directories
Eric Biggers [Wed, 28 Jan 2015 05:18:51 +0000 (23:18 -0600)]
win32_apply.c: fix restore of encrypted files and directories

9 years agowin32_apply.c: test for EFS data before reparse data
Eric Biggers [Wed, 28 Jan 2015 04:31:41 +0000 (22:31 -0600)]
win32_apply.c: test for EFS data before reparse data

9 years agoextract.c: dentry_is_supported(): check all relevant attributes
Eric Biggers [Wed, 28 Jan 2015 04:30:22 +0000 (22:30 -0600)]
extract.c: dentry_is_supported(): check all relevant attributes

9 years agowin32_capture.c: use NULL instead of INVALID_HANDLE_VALUE
Eric Biggers [Wed, 28 Jan 2015 04:07:52 +0000 (22:07 -0600)]
win32_capture.c: use NULL instead of INVALID_HANDLE_VALUE

Code was correct, but since this is an NT-level handle NULL makes more
sense.

9 years agowin32_capture.c: adjust loading stream info from encrypted files
Eric Biggers [Wed, 28 Jan 2015 04:05:56 +0000 (22:05 -0600)]
win32_capture.c: adjust loading stream info from encrypted files

The previous code was not using ReadEncryptedFileRaw() on directories,
which is apparently needed.

9 years agoextract.c: check for empty extraction list
Eric Biggers [Wed, 28 Jan 2015 02:58:28 +0000 (20:58 -0600)]
extract.c: check for empty extraction list

9 years agowin32_capture.c: fix for opening encrypted files when key is unavailable
Eric Biggers [Wed, 28 Jan 2015 02:45:00 +0000 (20:45 -0600)]
win32_capture.c: fix for opening encrypted files when key is unavailable

9 years agoUpdate NEWS
Eric Biggers [Wed, 28 Jan 2015 01:14:36 +0000 (19:14 -0600)]
Update NEWS

9 years agowimlib_iterate_dir_tree(): iterate in default case order
Eric Biggers [Wed, 28 Jan 2015 01:09:36 +0000 (19:09 -0600)]
wimlib_iterate_dir_tree(): iterate in default case order

9 years agolz_lcpit: check against min_match_len ahead of time
Eric Biggers [Sun, 25 Jan 2015 20:53:06 +0000 (14:53 -0600)]
lz_lcpit: check against min_match_len ahead of time

9 years agolz_lcpit: pack SA and LCP into one array
Eric Biggers [Sun, 25 Jan 2015 19:36:00 +0000 (13:36 -0600)]
lz_lcpit: pack SA and LCP into one array

9 years agolz_lcpit: simplify and optimize build_LCPIT()
Eric Biggers [Sun, 25 Jan 2015 17:54:47 +0000 (11:54 -0600)]
lz_lcpit: simplify and optimize build_LCPIT()

9 years agoadd missing file: include/wimlib/alloca.h
Eric Biggers [Wed, 28 Jan 2015 00:03:09 +0000 (18:03 -0600)]
add missing file: include/wimlib/alloca.h

9 years agotools/make-windows-release: build with -DLIBXML_STATIC
Eric Biggers [Sun, 25 Jan 2015 16:47:05 +0000 (10:47 -0600)]
tools/make-windows-release: build with -DLIBXML_STATIC

This is needed to correctly link with xmlFree().

9 years agoheader cleanups
Eric Biggers [Sun, 25 Jan 2015 16:35:24 +0000 (10:35 -0600)]
header cleanups

9 years agoxml.c: Use xmlFree() for memory allocated by libxml2
Eric Biggers [Sun, 25 Jan 2015 01:47:28 +0000 (19:47 -0600)]
xml.c: Use xmlFree() for memory allocated by libxml2

9 years agoutil.c: Simplify wimlib_aligned_malloc()
Eric Biggers [Sun, 25 Jan 2015 01:36:13 +0000 (19:36 -0600)]
util.c: Simplify wimlib_aligned_malloc()

9 years agoupdate_image.c: handle_conflict(): fix freeing of unused branch
Eric Biggers [Sun, 25 Jan 2015 00:43:42 +0000 (18:43 -0600)]
update_image.c: handle_conflict(): fix freeing of unused branch

If the directory has alternate data streams, they should be freed here.

9 years agoClean up inode alias tracking
Eric Biggers [Sat, 24 Jan 2015 16:20:12 +0000 (10:20 -0600)]
Clean up inode alias tracking

New helper functions:

- d_associate()
- d_disassociate()

i_nlink, d_inode, and i_dentry are no longer changed outside of these
functions.  We maintain the invariants:

i_nlink == list_size(&i_dentry) == # of d_inode references

put_inode() is removed; free_inode() is now private to inode.c.

This fixes at least one bug: when freeing a dentry, it was not being
deleted from the inode's dentry list.

9 years agolzx_compress.c: adjust saving of length 2 matches
Eric Biggers [Tue, 20 Jan 2015 00:04:14 +0000 (18:04 -0600)]
lzx_compress.c: adjust saving of length 2 matches

9 years agolzx_compress.c: cleanups
Eric Biggers [Wed, 14 Jan 2015 03:55:46 +0000 (21:55 -0600)]
lzx_compress.c: cleanups

9 years agoLZ hashing cleanup
Eric Biggers [Wed, 14 Jan 2015 03:48:01 +0000 (21:48 -0600)]
LZ hashing cleanup

9 years agoEnsure validity of max_search_depth
Eric Biggers [Mon, 12 Jan 2015 02:06:41 +0000 (20:06 -0600)]
Ensure validity of max_search_depth

9 years agowimlib.h: Fix documentation for compression block sizes
Eric Biggers [Mon, 12 Jan 2015 01:03:10 +0000 (19:03 -0600)]
wimlib.h: Fix documentation for compression block sizes

9 years agolzx_compress.c: Clarify some array bounds
Eric Biggers [Sun, 11 Jan 2015 21:30:29 +0000 (15:30 -0600)]
lzx_compress.c:  Clarify some array bounds

9 years agov1.7.5-BETA
Eric Biggers [Sun, 11 Jan 2015 16:40:26 +0000 (10:40 -0600)]
v1.7.5-BETA

9 years agoMerge LZX compression updates
Eric Biggers [Sun, 11 Jan 2015 16:24:07 +0000 (10:24 -0600)]
Merge LZX compression updates

9 years agov1.7.4 v1.7.4
Eric Biggers [Sat, 3 Jan 2015 02:01:26 +0000 (20:01 -0600)]
v1.7.4

9 years agolzms_compress.c: honor LZMS_MAX_BUFFER_SIZE
Eric Biggers [Sat, 3 Jan 2015 01:43:00 +0000 (19:43 -0600)]
lzms_compress.c: honor LZMS_MAX_BUFFER_SIZE

9 years agoMisc. cleanups
Eric Biggers [Sat, 3 Jan 2015 00:25:50 +0000 (18:25 -0600)]
Misc. cleanups

9 years agoRestore -std=gnu99 instead of -std=c99
Eric Biggers [Tue, 30 Dec 2014 03:31:51 +0000 (21:31 -0600)]
Restore -std=gnu99 instead of -std=c99

9 years agoAdjust endianness detection
Eric Biggers [Tue, 30 Dec 2014 03:26:06 +0000 (21:26 -0600)]
Adjust endianness detection

__BYTE_ORDER__ isn't available in older gcc, unfortunately.

9 years agoREADME: update COMPRESSION RATIO section
Eric Biggers [Tue, 30 Dec 2014 02:40:53 +0000 (20:40 -0600)]
README: update COMPRESSION RATIO section

9 years agoUse --enable-ssse3-sha1 for x86_64 Windows builds
Eric Biggers [Tue, 30 Dec 2014 03:01:07 +0000 (21:01 -0600)]
Use --enable-ssse3-sha1 for x86_64 Windows builds

9 years agoCleanups from recent changes
Eric Biggers [Mon, 29 Dec 2014 02:03:09 +0000 (20:03 -0600)]
Cleanups from recent changes

9 years agoAdjust naming of (de)compression files
Eric Biggers [Fri, 26 Dec 2014 20:16:44 +0000 (14:16 -0600)]
Adjust naming of (de)compression files

9 years agoLZMS: decompression optimizations
Eric Biggers [Fri, 26 Dec 2014 16:56:16 +0000 (10:56 -0600)]
LZMS: decompression optimizations

9 years agoLZMS: optimize lzms_x86_filter()
Eric Biggers [Thu, 25 Dec 2014 02:33:49 +0000 (20:33 -0600)]
LZMS: optimize lzms_x86_filter()

9 years agoresource.c: Don't manually align buffer for uncompressed data
Eric Biggers [Thu, 25 Dec 2014 02:06:42 +0000 (20:06 -0600)]
resource.c: Don't manually align buffer for uncompressed data

The main reason this was being done was to speed up LZX postprocessing,
but that now can use the vectorized version (with a tiny bit of overhead)
even if the start of the buffer is not 16-byte aligned.

9 years agoLZX pre/post-processing improvements
Eric Biggers [Thu, 25 Dec 2014 01:58:04 +0000 (19:58 -0600)]
LZX pre/post-processing improvements

- much faster inner loop for non-vectorized version
- use either SSE2 or AVX-2 for vectorized version
- faster inner loop for vectorized version
- support vectorized version on buffers that are not properly aligned

9 years agomake-windows-release: get version number from configure.ac, not README
Eric Biggers [Tue, 23 Dec 2014 19:07:32 +0000 (13:07 -0600)]
make-windows-release: get version number from configure.ac, not README

9 years agoFaster XPRESS compression
Eric Biggers [Tue, 23 Dec 2014 05:16:38 +0000 (23:16 -0600)]
Faster XPRESS compression

9 years agotools/windeps/Makefile: update sources list
Eric Biggers [Fri, 19 Dec 2014 23:44:02 +0000 (17:44 -0600)]
tools/windeps/Makefile: update sources list

9 years agomkwinpeimg.1: missed an autoconf substitution
Eric Biggers [Fri, 19 Dec 2014 05:01:16 +0000 (23:01 -0600)]
mkwinpeimg.1: missed an autoconf substitution

9 years agoWindows build updates
Eric Biggers [Fri, 19 Dec 2014 03:38:48 +0000 (21:38 -0600)]
Windows build updates

9 years agoAdd ax_pthread.m4
Eric Biggers [Tue, 16 Dec 2014 05:50:04 +0000 (23:50 -0600)]
Add ax_pthread.m4

9 years agoconfigure.ac cleanup
Eric Biggers [Tue, 16 Dec 2014 04:55:03 +0000 (22:55 -0600)]
configure.ac cleanup

9 years agoMakefile.am cleanup
Eric Biggers [Tue, 16 Dec 2014 02:55:53 +0000 (20:55 -0600)]
Makefile.am cleanup

9 years agoutf16le_dupz() input may be misaligned
Eric Biggers [Tue, 16 Dec 2014 02:33:59 +0000 (20:33 -0600)]
utf16le_dupz() input may be misaligned

9 years agoDon't run man pages through configure
Eric Biggers [Tue, 16 Dec 2014 01:45:49 +0000 (19:45 -0600)]
Don't run man pages through configure

The only remaining reason is to update the version number, but there is
already a sed command being run to update all the dates.  So we might as
well simplify by just having the unmodified man pages.

9 years agoRemove support for --with-imagex-progname configure option
Eric Biggers [Tue, 16 Dec 2014 01:25:36 +0000 (19:25 -0600)]
Remove support for --with-imagex-progname configure option

The program is always called "wimlib-imagex" now.  I expect no one is
using the configuration option, and nothing stops the user from renaming
the binary anyway.

9 years agoRemove support for --enable-more-assertions configure option
Eric Biggers [Tue, 16 Dec 2014 00:20:29 +0000 (18:20 -0600)]
Remove support for --enable-more-assertions configure option

The only uses of wimlib_assert2() were in compression code (where
problems are relatively easy to detect), and this option was disabled by
default anyway.  Simplify by just having one kind of assertion.

9 years agoENABLE_MORE_DEBUG no longer exists
Eric Biggers [Tue, 16 Dec 2014 00:10:39 +0000 (18:10 -0600)]
ENABLE_MORE_DEBUG no longer exists

9 years agoinode.h, inode.c cleanup
Eric Biggers [Sun, 14 Dec 2014 21:03:40 +0000 (15:03 -0600)]
inode.h, inode.c cleanup

9 years agoClean up util.h and util.c
Eric Biggers [Sun, 14 Dec 2014 19:51:40 +0000 (13:51 -0600)]
Clean up util.h and util.c

- Move logging/error code into new file error.c
- Remove ZERO_ARRAY()
- Move path separator macros into paths.h
- Comment improvements
- Remove support for undocumented WIMLIB_DEBUG environmental variable

9 years agoHeader fixes
Eric Biggers [Sun, 14 Dec 2014 19:43:09 +0000 (13:43 -0600)]
Header fixes

9 years agoreference.c: correct rollback in error paths
Eric Biggers [Sun, 14 Dec 2014 18:05:52 +0000 (12:05 -0600)]
reference.c: correct rollback in error paths

previous implementation had several problems:

- use of 'out_refcnt' was wrong (it wasn't guaranteed to be 0 beforehand)
- globs were rolled back individually, not together

This commit correctly implements full rollback for both
wimlib_reference_resources() and wimlib_reference_resource_files().

9 years agoupdate_image.c: Add file comment
Eric Biggers [Sun, 14 Dec 2014 05:55:29 +0000 (23:55 -0600)]
update_image.c: Add file comment

9 years agoGet rid of wimlib/version.h
Eric Biggers [Sun, 14 Dec 2014 04:38:18 +0000 (22:38 -0600)]
Get rid of wimlib/version.h

9 years agoCleanup timestamp conversion code
Eric Biggers [Sun, 14 Dec 2014 03:26:06 +0000 (21:26 -0600)]
Cleanup timestamp conversion code

9 years agotagged_items.c: length should be rounded up when adding item
Eric Biggers [Sun, 14 Dec 2014 01:40:02 +0000 (19:40 -0600)]
tagged_items.c: length should be rounded up when adding item

Also 0-fill the new item, including the padding.

These changes have no effect on the only caller of
inode_add_tagged_item() but should be made for correctness in case this
function gets more callers in the future.

9 years agowim.h: reorganize WIMStruct fields and update comments
Eric Biggers [Sun, 14 Dec 2014 00:05:56 +0000 (18:05 -0600)]
wim.h: reorganize WIMStruct fields and update comments

9 years agonew internal image deletion helper
Eric Biggers [Sat, 13 Dec 2014 19:38:31 +0000 (13:38 -0600)]
new internal image deletion helper

Define a new helper function delete_wim_image() and use in
wimlib_delete_image() and in the error path of
wimlib_add_image_multisource().

This fixes a bug: current_image wasn't being reset to WIMLIB_NO_IMAGE in
the error path of wimlib_add_image_multisource().  Bad things would
happen if the library user then continued to use the same WIMStruct.

9 years agoexport_image.c: adjust error message
Eric Biggers [Sat, 13 Dec 2014 19:21:48 +0000 (13:21 -0600)]
export_image.c: adjust error message

9 years agoWIMStruct: Rename 'deletion_occurred' to 'image_deletion_occurred'
Eric Biggers [Sat, 13 Dec 2014 19:20:19 +0000 (13:20 -0600)]
WIMStruct: Rename 'deletion_occurred' to 'image_deletion_occurred'

9 years agoinode_fixup.h: remove unnecessary #include
Eric Biggers [Sat, 13 Dec 2014 19:17:12 +0000 (13:17 -0600)]
inode_fixup.h: remove unnecessary #include

9 years agolz_extend: little endian CPU is necessary for byte count to work
Eric Biggers [Thu, 11 Dec 2014 01:45:07 +0000 (19:45 -0600)]
lz_extend: little endian CPU is necessary for byte count to work

9 years agoAnnotate yet another unaligned memory access
Eric Biggers [Thu, 11 Dec 2014 01:14:40 +0000 (19:14 -0600)]
Annotate yet another unaligned memory access

9 years agoUpdate version to v1.7.4-BETA
Eric Biggers [Wed, 10 Dec 2014 04:53:21 +0000 (22:53 -0600)]
Update version to v1.7.4-BETA

9 years agoportability and compression cleanups
Eric Biggers [Wed, 10 Dec 2014 01:40:17 +0000 (19:40 -0600)]
portability and compression cleanups

- Split compiler.h into compiler.h and compiler-gcc.h
- Compile with -std=c99. Some GCC extensions are still used but they are
  explicitly defined in compiler-gcc.h.
- Add get_unaligned_uXX_le() and put_unaligned_uXX_le() helpers
- Faster lz_copy() in some cases
- Faster lz_extend() in some cases
- New bitops.h header

9 years agocleanups
Eric Biggers [Sat, 6 Dec 2014 17:42:37 +0000 (11:42 -0600)]
cleanups

9 years agoWorkaround for FILE_SUPERSEDE being broken in Windows PE ramdisk
Eric Biggers [Wed, 26 Nov 2014 04:26:29 +0000 (22:26 -0600)]
Workaround for FILE_SUPERSEDE being broken in Windows PE ramdisk

9 years agoAdd some missing config.h includes
Eric Biggers [Sat, 22 Nov 2014 04:02:15 +0000 (22:02 -0600)]
Add some missing config.h includes

9 years agolzms-compress.c: Remove unused function
Eric Biggers [Sat, 22 Nov 2014 03:59:39 +0000 (21:59 -0600)]
lzms-compress.c: Remove unused function

9 years agomount_image.c: Replace use of zero-length array
Eric Biggers [Sat, 22 Nov 2014 03:42:35 +0000 (21:42 -0600)]
mount_image.c: Replace use of zero-length array

9 years agoRemove unused 'wim' argument to read_metadata_resource()
Eric Biggers [Sat, 22 Nov 2014 03:40:05 +0000 (21:40 -0600)]
Remove unused 'wim' argument to read_metadata_resource()