Commit Graph

4276 Commits (bdc83f523b536ade61adb46393d0ac87f18b49bc)

Author SHA1 Message Date
Paul Cruz 75c3ad947c Merge remote-tracking branch 'upstream/dev' into dev 2017-08-10 14:46:31 -07:00
Yann Collet 8915b9b518 Merge pull request #786 from terrelln/squashfs-tools
[linux-kernel] Update patches for v4 and v5
2017-08-09 16:00:11 -07:00
Nick Terrell 8b6702a00d [linux-kernel] Update patches for v5 2017-08-09 13:03:40 -07:00
Yann Collet 80c7b4823c Merge pull request #785 from terrelln/dev
[CI] Add gcc7build test
2017-08-08 14:21:45 -07:00
Nick Terrell 9ba97182d1 [CI] Add gcc7build test 2017-08-08 13:28:56 -07:00
Yann Collet d9f2893eb9 Merge pull request #782 from terrelln/dstSizeTooSmall
Fix compression failure on incompressible data
2017-08-07 14:52:02 -07:00
Yann Collet a1fe656165 Merge pull request #779 from paulcruz74/adapt-approach-4
Patching warnings, adding ability to bound compression variation
2017-08-07 14:50:38 -07:00
Yann Collet 8049556928 Merge pull request #778 from terrelln/bad-huff
[libzstd] Fix bug in Huffman decompresser
2017-08-07 14:05:58 -07:00
Yann Collet 6d0a5c5728 Merge pull request #781 from stellamplau/qSize
Allow queueSize=0 in pool.c
2017-08-07 13:55:19 -07:00
Paul Cruz 7069bb9458 Merge branch 'adapt-approach-4' into bug-fixes 2017-08-07 13:18:53 -07:00
Paul Cruz e100a311eb removed direct assignment of 22, used ZSTD_maxCLevel() instead 2017-08-07 13:11:07 -07:00
Nick Terrell abe12b3399 [libzstd] Fix bug in Huffman decompresser
The zstd format specification doesn't enforce that Huffman compressed
literals (including the table) have to be smaller than the uncompressed
literals. The compressor will never Huffman compress literals if the
compressed size is larger than the uncompressed size. The decompresser
doesn't accept Huffman compressed literals with 4 streams whose compressed
size is at least as large as the uncompressed size.

* Make the decompresser accept Huffman compressed literals whose size
  increases.
* Add a test case that exposes the bug. The compressed file has to be
  statically generated, since the compressor won't normally produce files
  that expose the bug.
2017-08-07 12:37:48 -07:00
Stella Lau e1abc2a367 Switch the sleep function to UTIL_sleepMilli 2017-08-07 11:49:13 -07:00
Nick Terrell 308047eb5d Fix compression failure on incompressible data
If the destination buffer is the minimum allowed size in
`ZSTD_compressSequences()` (2^17), then if the block isn't compressible
compression might fail with `dstSize_tooSmall`, when it should instead emit
a raw uncompressed block.

Additionally, `ZSTD_compressLiterals()` implicitly called
`ZSTD_noCompressLiterals()` if Huffman compression failed. Make that
explicit.
2017-08-07 11:45:24 -07:00
Nick Terrell 7393b49fbd [linux-kernel] Update patches for v4 2017-08-04 16:57:03 -07:00
Paul Cruz 01237e3b35 changed multi to zstd-adaptive in the help menu 2017-08-03 15:13:49 -07:00
Stella Lau 1e366f9dea Add test for deadlock 2017-08-02 11:27:50 -07:00
Paul Cruz 8be7bba08c added mutex for compression level to avoid data race 2017-08-02 10:27:33 -07:00
Stella Lau 73ba58955f Signal after finishing job when queueSize=0 2017-08-01 20:12:06 -07:00
Paul Cruz 69ef22c0ac added detach statements to prevent resource leak 2017-08-01 17:36:13 -07:00
Stella Lau 1d76da1d87 Replace marker with queueEmpty variable and update pool.h comment 2017-08-01 12:30:16 -07:00
Paul Cruz f8c7b191e7 Merge branch 'adapt-approach-4' into dev 2017-07-31 15:42:57 -07:00
Paul Cruz 0295737ad7 change signal to broadcast for jobCompressed condition varaible since multiple threads waiting 2017-07-31 13:43:03 -07:00
Paul Cruz cf92221671 Merge remote-tracking branch 'upstream/dev' into dev 2017-07-31 11:43:40 -07:00
Paul Cruz c2f1bda8a1 Merge branch 'adapt-approach-4' into dev 2017-07-31 11:43:01 -07:00
Paul Cruz 9ea7df03de add install target in makefile 2017-07-31 11:04:17 -07:00
Stella Lau 5adceeed01 Allow queueSize=0 in pool.c and update poolTests 2017-07-31 10:10:16 -07:00
Paul Cruz f60cd3f99b print defaults and range, remove EXT 2017-07-31 09:47:09 -07:00
Paul Cruz e22b60cb76 removed ternary operation, added assert statement, check to make sure initial compression level is within bounds 2017-07-28 17:46:51 -07:00
Paul Cruz cb9af53e77 delete empty line 2017-07-28 17:28:25 -07:00
Paul Cruz 51788225db remove exe extension from makefile, reinclude pthread flag 2017-07-28 17:27:36 -07:00
Yann Collet ee27f6937c Merge pull request #758 from stellamplau/ldm
Add working prototype of a long distance matcher
2017-07-28 17:07:21 -07:00
Paul Cruz 4d904ac800 add flags for multithreading 2017-07-28 16:12:58 -07:00
Paul Cruz 0f4cb67b00 add tests for compression bounds, fix another warning 2017-07-28 15:55:02 -07:00
Paul Cruz ff54fced64 patched style errors, add ability to bound compression level variation 2017-07-28 15:30:46 -07:00
Stella Lau 8fae41c412 Return error code in verify() and minor code cleanup 2017-07-27 17:14:05 -07:00
Stella Lau 1294a4a897 Fix typo 2017-07-27 15:49:46 -07:00
Stella Lau 627621839c Add checks in initialization code 2017-07-27 15:37:37 -07:00
Yann Collet e94fd71bbd Merge branch 'dev' of github.com:facebook/zstd into dev 2017-07-27 13:49:46 -07:00
Stella Lau c105f605e6 Update README 2017-07-27 11:11:35 -07:00
Yann Collet e1222544be Merge pull request #753 from paulcruz74/adapt-approach-3
adaptive compression v1
2017-07-27 10:00:10 -07:00
Paul Cruz 2320e7378a remove unused variable, add documentation for context fields 2017-07-26 17:02:47 -07:00
Stella Lau 9eaf3d22d0 Allow HASH_ONLY_EVERY_LOG to be configured in ldm.h 2017-07-26 16:43:25 -07:00
Paul Cruz ab5a78547e fix leaky abstraction regarding measuring completion 2017-07-26 16:40:05 -07:00
Paul Cruz 715f36ca81 added definitions for conversion constants, moved forced compression check to top of adaptCompressionLevel, used ZSTD_BLOCKSIZE_MAX 2017-07-26 15:52:15 -07:00
Paul Cruz 6c1c1242fc set the window log value before performing compression 2017-07-26 14:29:59 -07:00
Stella Lau 40759bade9 Add README and clean up code 2017-07-26 13:24:03 -07:00
Paul Cruz a959cc881a moved reset of completion to right after wait 2017-07-26 10:34:48 -07:00
Paul Cruz 305d5ee70f change to >= convergence counter 2017-07-26 10:20:29 -07:00
Paul Cruz be92a38d6a decrease completion requirements for change, move create thread wait, merge cases where compression thread should wait 2017-07-26 10:05:10 -07:00