]> git.ipfire.org Git - thirdparty/zstd.git/log
thirdparty/zstd.git
8 years agorefactor ZSTD_check_compressionLevel_monotonicIncrease_memoryBudget() 739/head
Yann Collet [Thu, 29 Jun 2017 03:17:22 +0000 (20:17 -0700)] 
refactor ZSTD_check_compressionLevel_monotonicIncrease_memoryBudget()

use less macro statements
the initial version was meant to work with STATIC_ASSERT
but since it doesn't work and needs assert()
it's possible to rewrite it using normally compiled code
which is better for compiler.

Downside : the error message is less precise.
There is a DEBUGLOG(3,) to compensate.

8 years agoMerge branch 'advancedAPI2' into refPrefix
Yann Collet [Wed, 28 Jun 2017 23:35:49 +0000 (16:35 -0700)] 
Merge branch 'advancedAPI2' into refPrefix

8 years agoadded a test to ensure ZSTD_refPrefix() doesn't impact the following compression job
Yann Collet [Wed, 28 Jun 2017 23:25:13 +0000 (16:25 -0700)] 
added a test to ensure ZSTD_refPrefix() doesn't impact the following compression job

8 years agofixed -Wdeclaration-after-statement 737/head
Yann Collet [Wed, 28 Jun 2017 22:40:21 +0000 (15:40 -0700)] 
fixed -Wdeclaration-after-statement

8 years agoadded function to control monotonic memory budget increase of ZSTD_defaultCParameters[0]
Yann Collet [Wed, 28 Jun 2017 22:34:56 +0000 (15:34 -0700)] 
added function to control monotonic memory budget increase of ZSTD_defaultCParameters[0]

It's a runtime test, based on assert(),
played once, on first ZSTD_getCParams() usage,
when ZSTD_DEBUG is enabled.

8 years agoadjusted compression levels to guarantee a monotonically increasing memory budget
Yann Collet [Wed, 28 Jun 2017 20:22:37 +0000 (13:22 -0700)] 
adjusted compression levels to guarantee a monotonically increasing memory budget

8 years agofixed ZSTD_refPrefix with Multithread-enabled CCtx
Yann Collet [Wed, 28 Jun 2017 18:09:43 +0000 (11:09 -0700)] 
fixed ZSTD_refPrefix with Multithread-enabled CCtx

8 years agofixed zstreamtest
Yann Collet [Wed, 28 Jun 2017 16:57:59 +0000 (09:57 -0700)] 
fixed zstreamtest

modifying compression parameters is not allowed after ZSTD_CCtx_loadDictionary()
but it is still allowed after ZSTD_refPrefix()

8 years agocontrolled dictMode
Yann Collet [Wed, 28 Jun 2017 00:09:12 +0000 (17:09 -0700)] 
controlled dictMode

8 years agoimplemented ZSTD_refPrefix()
Yann Collet [Tue, 27 Jun 2017 22:49:12 +0000 (15:49 -0700)] 
implemented ZSTD_refPrefix()

8 years agoexposed ZSTD_MAGIC_DICTIONARY in zstd.h
Yann Collet [Tue, 27 Jun 2017 20:50:34 +0000 (13:50 -0700)] 
exposed ZSTD_MAGIC_DICTIONARY in zstd.h

makes it easier to explain ZSTD_dictMode

8 years agoadded parameter ZSTD_p_refDictContent
Yann Collet [Tue, 27 Jun 2017 18:46:39 +0000 (11:46 -0700)] 
added parameter ZSTD_p_refDictContent

8 years agofixed minor conversion warning
Yann Collet [Tue, 27 Jun 2017 01:02:23 +0000 (18:02 -0700)] 
fixed minor conversion warning

8 years agorefactored ZSTD_estimateDStreamSize()
Yann Collet [Tue, 27 Jun 2017 00:44:26 +0000 (17:44 -0700)] 
refactored ZSTD_estimateDStreamSize()

now uses windowSize as argument.
Also : created ZSTD_estimateDStreamSize_fromFrame()

8 years agoZSTD_estimateCDictSize_advanced()
Yann Collet [Mon, 26 Jun 2017 23:47:32 +0000 (16:47 -0700)] 
ZSTD_estimateCDictSize_advanced()

ZSTD_estimateCDictSize() now uses same arguments as ZSTD_createCDict()
ZSTD_estimateCDictSize_advanced() uses same arguments as ZSTD_createCDict_advanced()

8 years agoZSTD_estimateCStreamSize_advanced()
Yann Collet [Mon, 26 Jun 2017 23:02:25 +0000 (16:02 -0700)] 
ZSTD_estimateCStreamSize_advanced()

8 years agoZSTD_estimateCCtx_advanced()
Yann Collet [Mon, 26 Jun 2017 22:52:39 +0000 (15:52 -0700)] 
ZSTD_estimateCCtx_advanced()

ZSTD_estimateCCtx() is now a "simple" function,
taking int compressionLevel as single argument.

ZSTD_estimateCCtx_advanced() takes a CParams argument,
which is both more complete and more complex to generate.

8 years agoMerge pull request #733 from terrelln/pzstd-deadlock
Yann Collet [Fri, 23 Jun 2017 21:18:55 +0000 (14:18 -0700)] 
Merge pull request #733 from terrelln/pzstd-deadlock

[pzstd] Fix potential deadlock in the case of errors

8 years agoMerge pull request #725 from facebook/advancedAPI2
Yann Collet [Fri, 23 Jun 2017 16:50:47 +0000 (09:50 -0700)] 
Merge pull request #725 from facebook/advancedAPI2

New Advanced API

8 years ago--no-big-tests for msan 725/head
Yann Collet [Fri, 23 Jun 2017 07:37:15 +0000 (00:37 -0700)] 
--no-big-tests for msan

msan tests require too much RAM for 2 GB VM

8 years agoMerge branch 'advancedAPI2' of github.com:facebook/zstd into advancedAPI2
Yann Collet [Fri, 23 Jun 2017 07:13:03 +0000 (00:13 -0700)] 
Merge branch 'advancedAPI2' of github.com:facebook/zstd into advancedAPI2

8 years agozstreamtest : disabled multi-threading tests with --newapi --no-big-tests
Yann Collet [Fri, 23 Jun 2017 07:09:02 +0000 (00:09 -0700)] 
zstreamtest : disabled multi-threading tests with --newapi --no-big-tests

--no-big-tests is typically used in combination with qemu-user-static
qemu-user-static allocated 4 GB of RAM upfront.
On 2 GB VM, this can degenerate into a crash.
It's not a problem as long as memory is not used.
But with multi-threading enabled, memory fragmentation kicks in,
so the amoung of RAM effectively touched increases,
and can pass beyond the 2 GB limit of the VM.

In single-threaded mode, there is no such issue :
memory requirement is smaller, and remains well-located,
so very little fragmentation is expected.

This modification should make `qemu-arm-static zstreamtests --newapi --no-big-tests`
work fine on Travis CI.

8 years ago[pzstd] Fix deadlock in the case of errors 733/head
Nick Terrell [Fri, 23 Jun 2017 01:09:42 +0000 (18:09 -0700)] 
[pzstd] Fix deadlock in the case of errors

Fixes #720.

8 years agoMerge pull request #732 from terrelln/dev
Yann Collet [Thu, 22 Jun 2017 06:46:54 +0000 (23:46 -0700)] 
Merge pull request #732 from terrelln/dev

[linux] Update patches

8 years agoreduced --no-big-tests even more
Yann Collet [Thu, 22 Jun 2017 06:35:58 +0000 (23:35 -0700)] 
reduced --no-big-tests even more

to pass tests on qemu-aarch64

8 years ago[linux] Write all the patch summaries 732/head
Nick Terrell [Thu, 22 Jun 2017 03:23:44 +0000 (20:23 -0700)] 
[linux] Write all the patch summaries

8 years agofixed minor cast warning
Yann Collet [Thu, 22 Jun 2017 01:43:39 +0000 (18:43 -0700)] 
fixed minor cast warning

8 years agoreduced CLevelMax for --no-big-tests
Yann Collet [Thu, 22 Jun 2017 01:20:02 +0000 (18:20 -0700)] 
reduced CLevelMax for --no-big-tests

8 years ago--no-big-tests for zstreamtest
Yann Collet [Thu, 22 Jun 2017 00:57:14 +0000 (17:57 -0700)] 
--no-big-tests for zstreamtest

Apply --no-big-tests for tsan tests

8 years agoadd controls over streaming buffers
Yann Collet [Thu, 22 Jun 2017 00:25:01 +0000 (17:25 -0700)] 
add controls over streaming buffers

8 years agoadded --list command contrib by @paulcruz74
Yann Collet [Wed, 21 Jun 2017 22:58:36 +0000 (15:58 -0700)] 
added --list command contrib by @paulcruz74

8 years agoMerge pull request #730 from paulcruz74/dev
Yann Collet [Wed, 21 Jun 2017 22:56:05 +0000 (15:56 -0700)] 
Merge pull request #730 from paulcruz74/dev

Patching ratio and non-existent file bugs

8 years agofixed : decompression of skippable frames in streaming mode
Yann Collet [Wed, 21 Jun 2017 22:53:42 +0000 (15:53 -0700)] 
fixed : decompression of skippable frames in streaming mode

8 years ago[linux] Rename last 2 diffs to patch names
Nick Terrell [Wed, 21 Jun 2017 22:21:25 +0000 (15:21 -0700)] 
[linux] Rename last 2 diffs to patch names

8 years ago[linux] Add summaries to xxhash and zstd patches
Nick Terrell [Wed, 21 Jun 2017 22:19:54 +0000 (15:19 -0700)] 
[linux] Add summaries to xxhash and zstd patches

8 years ago[linux] Rename diffs to patch names
Nick Terrell [Wed, 21 Jun 2017 22:10:18 +0000 (15:10 -0700)] 
[linux] Rename diffs to patch names

8 years ago[linux] Switch BtrFS compression level to 1
Nick Terrell [Wed, 21 Jun 2017 22:08:26 +0000 (15:08 -0700)] 
[linux] Switch BtrFS compression level to 1

8 years agoswitched fileio.c to ZSTD_DEBUG trigger macro
Yann Collet [Wed, 21 Jun 2017 22:16:13 +0000 (15:16 -0700)] 
switched fileio.c to ZSTD_DEBUG trigger macro

8 years agofixed streaming buffered allocation with CDict compression
Yann Collet [Wed, 21 Jun 2017 22:13:00 +0000 (15:13 -0700)] 
fixed streaming buffered allocation with CDict compression

8 years agofixed dangling pointer risk, detected by @terrelln
Yann Collet [Wed, 21 Jun 2017 20:26:10 +0000 (13:26 -0700)] 
fixed dangling pointer risk, detected by @terrelln

8 years agoMerge pull request #3 from facebook/dev 730/head
Paul Cruz [Wed, 21 Jun 2017 19:42:38 +0000 (12:42 -0700)] 
Merge pull request #3 from facebook/dev

pulling changes

8 years agoadded newline to align output
Paul Cruz [Wed, 21 Jun 2017 19:41:10 +0000 (12:41 -0700)] 
added newline to align output

8 years agoadded error check for when file could not be opened
Paul Cruz [Wed, 21 Jun 2017 19:37:23 +0000 (12:37 -0700)] 
added error check for when file could not be opened

8 years agoreversed calculation of ratio
Paul Cruz [Wed, 21 Jun 2017 19:27:20 +0000 (12:27 -0700)] 
reversed calculation of ratio

8 years agofree cdictLocal faster, suggested by @terrelln
Yann Collet [Wed, 21 Jun 2017 19:26:40 +0000 (12:26 -0700)] 
free cdictLocal faster, suggested by @terrelln

8 years agoadded test cases for new command --list
Yann Collet [Wed, 21 Jun 2017 19:09:53 +0000 (12:09 -0700)] 
added test cases for new command --list

8 years agoadded ZSTD_dictMode_e to control dictionary loading mode
Yann Collet [Wed, 21 Jun 2017 18:50:33 +0000 (11:50 -0700)] 
added ZSTD_dictMode_e to control dictionary loading mode

8 years agoMerge pull request #723 from paulcruz74/dev
Yann Collet [Wed, 21 Jun 2017 16:41:55 +0000 (09:41 -0700)] 
Merge pull request #723 from paulcruz74/dev

Adding zstd -l

8 years agofixed memcpy() overlap
Yann Collet [Wed, 21 Jun 2017 00:44:55 +0000 (17:44 -0700)] 
fixed memcpy() overlap

8 years agoadded test for files with no frame content size 723/head
Paul Cruz [Wed, 21 Jun 2017 00:43:36 +0000 (17:43 -0700)] 
added test for files with no frame content size

8 years agoremoved one useless streaming compression stage, detected by @terrelln
Yann Collet [Tue, 20 Jun 2017 23:25:29 +0000 (16:25 -0700)] 
removed one useless streaming compression stage, detected by @terrelln

8 years agofixed potential dangling pointer, detected by @terrelln
Yann Collet [Tue, 20 Jun 2017 23:09:11 +0000 (16:09 -0700)] 
fixed potential dangling pointer, detected by @terrelln

8 years agoadded tests with null files, changed condition to check that the file is more than...
Paul Cruz [Tue, 20 Jun 2017 21:33:08 +0000 (14:33 -0700)] 
added tests with null files, changed condition to check that the file is more than 0 bytes

8 years agofixed comments, following suggestion by @terrelln
Yann Collet [Tue, 20 Jun 2017 21:26:48 +0000 (14:26 -0700)] 
fixed comments, following suggestion by @terrelln

8 years agospacing matters for test scripts
Paul Cruz [Tue, 20 Jun 2017 21:14:53 +0000 (14:14 -0700)] 
spacing matters for test scripts

8 years agoensure new ZSTD_strategy starts at value 1
Yann Collet [Tue, 20 Jun 2017 21:11:49 +0000 (14:11 -0700)] 
ensure new ZSTD_strategy starts at value 1

8 years agofixed error where extremely small files were not being detected as not compressed...
Paul Cruz [Tue, 20 Jun 2017 21:04:46 +0000 (14:04 -0700)] 
fixed error where extremely small files were not being detected as not compressed with zstd

8 years agochanged to use LONG_SEEK
Paul Cruz [Tue, 20 Jun 2017 20:44:05 +0000 (13:44 -0700)] 
changed to use LONG_SEEK

8 years agoadded progress metric to display
Paul Cruz [Tue, 20 Jun 2017 20:26:25 +0000 (13:26 -0700)] 
added progress metric to display

8 years agomoved signifcant operations to fileio.c
Paul Cruz [Tue, 20 Jun 2017 19:43:10 +0000 (12:43 -0700)] 
moved signifcant operations to fileio.c

8 years agofixed fuzzer test
Yann Collet [Tue, 20 Jun 2017 19:17:32 +0000 (12:17 -0700)] 
fixed fuzzer test

8 years agoMerge pull request #728 from terrelln/ubsan-failure
Yann Collet [Tue, 20 Jun 2017 19:13:51 +0000 (12:13 -0700)] 
Merge pull request #728 from terrelln/ubsan-failure

[linux] Add more tests and fuzzing

8 years agoremoved double if statements for same condition
Paul Cruz [Tue, 20 Jun 2017 18:59:45 +0000 (11:59 -0700)] 
removed double if statements for same condition

8 years agominor update to logic
Paul Cruz [Tue, 20 Jun 2017 18:58:27 +0000 (11:58 -0700)] 
minor update to logic

8 years agosize_t const value
Paul Cruz [Tue, 20 Jun 2017 18:56:11 +0000 (11:56 -0700)] 
size_t const value

8 years agoadded additional tests for error detection
Paul Cruz [Tue, 20 Jun 2017 18:54:44 +0000 (11:54 -0700)] 
added additional tests for error detection

8 years agochanged displayInfo alignment and const
Paul Cruz [Tue, 20 Jun 2017 18:47:24 +0000 (11:47 -0700)] 
changed displayInfo alignment and const

8 years agochange test to list info on .zst files
Paul Cruz [Tue, 20 Jun 2017 17:45:06 +0000 (10:45 -0700)] 
change test to list info on .zst files

8 years agochanged fileInfo initialization, updated error code
Paul Cruz [Tue, 20 Jun 2017 16:35:21 +0000 (09:35 -0700)] 
changed fileInfo initialization, updated error code

8 years ago[linux] Add xxhash and zstd in-kernel tests 728/head
Nick Terrell [Tue, 20 Jun 2017 02:09:41 +0000 (19:09 -0700)] 
[linux] Add xxhash and zstd in-kernel tests

8 years ago[linux] Add libfuzzer targets
Nick Terrell [Tue, 20 Jun 2017 02:09:15 +0000 (19:09 -0700)] 
[linux] Add libfuzzer targets

8 years agofirst implementation of bench.c with new API ZSTD_compress_generic()
Yann Collet [Tue, 20 Jun 2017 01:25:35 +0000 (18:25 -0700)] 
first implementation of bench.c with new API ZSTD_compress_generic()

Doesn't speed optimize this buffer-to-buffer scenario yet.
Still internally defers to streaming implementation.

Also : fixed a long standing bug in ZSTDMT streaming API.

8 years agofix attempt : fullbench VS2008 project
Yann Collet [Tue, 20 Jun 2017 00:45:43 +0000 (17:45 -0700)] 
fix attempt : fullbench VS2008 project

8 years ago[linux] Port libzstd UBSAN fix
Nick Terrell [Mon, 19 Jun 2017 22:48:30 +0000 (15:48 -0700)] 
[linux] Port libzstd UBSAN fix

8 years agoMerge pull request #727 from terrelln/ubsan-failure
Yann Collet [Mon, 19 Jun 2017 22:43:17 +0000 (15:43 -0700)] 
Merge pull request #727 from terrelln/ubsan-failure

[libzstd] Fix UBSAN failure

8 years agofixed IA64 compilation error, by @mcmilk
Yann Collet [Mon, 19 Jun 2017 22:27:30 +0000 (15:27 -0700)] 
fixed IA64 compilation error, by @mcmilk

8 years agofix attempts : fullbench for VS2008
Yann Collet [Mon, 19 Jun 2017 22:23:19 +0000 (15:23 -0700)] 
fix attempts : fullbench for VS2008

8 years ago[libzstd] Fix UBSAN failure 727/head
Nick Terrell [Mon, 19 Jun 2017 22:12:28 +0000 (15:12 -0700)] 
[libzstd] Fix UBSAN failure

8 years agoMerge pull request #726 from terrelln/malloc-failure
Yann Collet [Mon, 19 Jun 2017 21:13:46 +0000 (14:13 -0700)] 
Merge pull request #726 from terrelln/malloc-failure

[linux] Fix decompression memory allocation

8 years agoupdate new api presentation in zstd.h and manual
Yann Collet [Mon, 19 Jun 2017 19:56:25 +0000 (12:56 -0700)] 
update new api presentation in zstd.h and manual

8 years ago[linux] Fix decompression memory allocation 726/head
Nick Terrell [Mon, 19 Jun 2017 19:24:14 +0000 (12:24 -0700)] 
[linux] Fix decompression memory allocation

8 years agoupdated manual
Yann Collet [Mon, 19 Jun 2017 19:03:25 +0000 (12:03 -0700)] 
updated manual

8 years agominor declaration statement warning fix
Yann Collet [Mon, 19 Jun 2017 18:53:42 +0000 (11:53 -0700)] 
minor declaration statement warning fix

8 years agonew api : setting compression parameters is refused if a dictionary is already loaded
Yann Collet [Mon, 19 Jun 2017 18:53:01 +0000 (11:53 -0700)] 
new api : setting compression parameters is refused if a dictionary is already loaded

8 years agonewapi fuzzer tests : random flush orders in main loop
Yann Collet [Mon, 19 Jun 2017 18:07:33 +0000 (11:07 -0700)] 
newapi fuzzer tests : random flush orders in main loop

8 years agomade style changes, added description in man file
Paul Cruz [Mon, 19 Jun 2017 16:55:55 +0000 (09:55 -0700)] 
made style changes, added description in man file

8 years agonew api fuzzer tests : frame parameters are randonly set
Yann Collet [Mon, 19 Jun 2017 06:41:38 +0000 (23:41 -0700)] 
new api fuzzer tests : frame parameters are randonly set

8 years agonew api fuzzer set : dictionary is randomly set
Yann Collet [Mon, 19 Jun 2017 06:31:55 +0000 (23:31 -0700)] 
new api fuzzer set : dictionary is randomly set

8 years agonew api fuzzer tests : compression parameters are randomly set
Yann Collet [Mon, 19 Jun 2017 06:25:15 +0000 (23:25 -0700)] 
new api fuzzer tests : compression parameters are randomly set

8 years agoMerge pull request #724 from yurivict/fix-install-static-lib
Yann Collet [Sat, 17 Jun 2017 08:19:39 +0000 (01:19 -0700)] 
Merge pull request #724 from yurivict/fix-install-static-lib

INSTALL_DATA instead of INSTALL_LIB for libzstd.a

8 years agoINSTALL_DATA instead of INSTALL_LIB for libzstd.a 724/head
Yuri [Sat, 17 Jun 2017 07:23:41 +0000 (00:23 -0700)] 
INSTALL_DATA instead of INSTALL_LIB for libzstd.a

INSTALL_LIB can be passed -s flag to strip symbols. Static libraries should not be stripped, only dynamic ones should be stripped.

8 years agoremoved macro CLAMP from decodecorpus
Yann Collet [Sat, 17 Jun 2017 01:16:27 +0000 (18:16 -0700)] 
removed macro CLAMP from decodecorpus

never used,
and would duplicate with CLAMP from zstd_compress.c

8 years agofuzzer tests for new API
Yann Collet [Sat, 17 Jun 2017 00:56:41 +0000 (17:56 -0700)] 
fuzzer tests for new API

8 years agoadded ZSTD_clampCParams()
Yann Collet [Sat, 17 Jun 2017 00:29:35 +0000 (17:29 -0700)] 
added ZSTD_clampCParams()

now ZSTD_adjustCParams() is always successful,
it always produces a valid CParams

8 years agofixed +/-1 error for pledgedSrcSizePlusOne
Yann Collet [Sat, 17 Jun 2017 00:01:46 +0000 (17:01 -0700)] 
fixed +/-1 error for pledgedSrcSizePlusOne

8 years agofix attempt 2 : Visual sign conversion warning
Yann Collet [Fri, 16 Jun 2017 23:51:33 +0000 (16:51 -0700)] 
fix attempt 2 : Visual sign conversion warning

8 years agofixed attempt : minor Visual sign conversion warning
Yann Collet [Fri, 16 Jun 2017 21:04:30 +0000 (14:04 -0700)] 
fixed attempt : minor Visual sign conversion warning

8 years agoadded ZSTD_startNewCompression()
Yann Collet [Fri, 16 Jun 2017 21:00:46 +0000 (14:00 -0700)] 
added ZSTD_startNewCompression()

8 years agochanged frameContentSize field to pledgedSrcSizePlusOne
Yann Collet [Fri, 16 Jun 2017 20:29:17 +0000 (13:29 -0700)] 
changed frameContentSize field to pledgedSrcSizePlusOne

pledgedSrcSize is proper : it's a promise, not yet fulfilled.
It will be controlled at the end.

PlusOne is meant to have 0 (default) == unknown

8 years agofix : pledgedSrcSize correctly reset to unknown in "continue" mode
Yann Collet [Fri, 16 Jun 2017 19:34:41 +0000 (12:34 -0700)] 
fix : pledgedSrcSize correctly reset to unknown in "continue" mode