From bde94ac0ceacb806f88f4fbae1f860983eb687f2 Mon Sep 17 00:00:00 2001 From: Jonathan Dieter Date: Wed, 25 Jul 2018 22:03:03 +0100 Subject: [PATCH] ABI change: Make manual chunking a compression option Signed-off-by: Jonathan Dieter --- include/zck.h.in | 2 +- src/lib/comp/comp.c | 12 ++ src/lib/zck.c | 9 -- .../compat_report.html | 107 ++++++++---------- 4 files changed, 58 insertions(+), 72 deletions(-) rename test/compat_reports/zchunk/{0.9.0_to_0.9.1 => 0.9.1_to_0.9.1}/compat_report.html (78%) diff --git a/include/zck.h.in b/include/zck.h.in index 9512aee..1a75fc2 100644 --- a/include/zck.h.in +++ b/include/zck.h.in @@ -25,8 +25,8 @@ typedef enum zck_ioption { ZCK_HASH_CHUNK_TYPE, /* Set chunk hash type using zck_hash */ ZCK_VAL_HEADER_HASH_TYPE, /* Set what the header hash type *should* be */ ZCK_VAL_HEADER_LENGTH, /* Set what the header length *should* be */ - ZCK_MANUAL_CHUNK, /* Disable auto-chunking */ ZCK_COMP_TYPE = 100, /* Set compression type using zck_comp */ + ZCK_MANUAL_CHUNK, /* Disable auto-chunking */ ZCK_ZSTD_COMP_LEVEL = 1000 /* Set zstd compression level */ } zck_ioption; diff --git a/src/lib/comp/comp.c b/src/lib/comp/comp.c index f053c5c..8f8bdf8 100644 --- a/src/lib/comp/comp.c +++ b/src/lib/comp/comp.c @@ -262,6 +262,18 @@ int comp_ioption(zckCtx *zck, zck_ioption option, ssize_t value) { } if(option == ZCK_COMP_TYPE) { return set_comp_type(zck, value); + + /* Manual chunking */ + } else if(option == ZCK_MANUAL_CHUNK) { + VALIDATE_WRITE_BOOL(zck); + if(value != 0) { + zck_log(ZCK_LOG_DEBUG, "Disabling automatic chunking"); + zck->manual_chunk = 1; + } else { + zck_log(ZCK_LOG_DEBUG, "Enabling automatic chunking"); + zck->manual_chunk = 0; + } + } else { if(zck && zck->comp.set_parameter) return zck->comp.set_parameter(zck, &(zck->comp), option, &value); diff --git a/src/lib/zck.c b/src/lib/zck.c index 12eb838..ff33bc6 100644 --- a/src/lib/zck.c +++ b/src/lib/zck.c @@ -270,15 +270,6 @@ int PUBLIC zck_set_ioption(zckCtx *zck, zck_ioption option, ssize_t value) { return False; } zck->prep_hdr_size = value; - } else if(option == ZCK_MANUAL_CHUNK) { - VALIDATE_WRITE_BOOL(zck); - if(value != 0) { - zck_log(ZCK_LOG_DEBUG, "Disabling automatic chunking"); - zck->manual_chunk = 1; - } else { - zck_log(ZCK_LOG_DEBUG, "Enabling automatic chunking"); - zck->manual_chunk = 0; - } /* Hash options */ } else if(option < 100) { diff --git a/test/compat_reports/zchunk/0.9.0_to_0.9.1/compat_report.html b/test/compat_reports/zchunk/0.9.1_to_0.9.1/compat_report.html similarity index 78% rename from test/compat_reports/zchunk/0.9.0_to_0.9.1/compat_report.html rename to test/compat_reports/zchunk/0.9.1_to_0.9.1/compat_report.html index 9fe2866..256d526 100644 --- a/test/compat_reports/zchunk/0.9.0_to_0.9.1/compat_report.html +++ b/test/compat_reports/zchunk/0.9.1_to_0.9.1/compat_report.html @@ -1,13 +1,13 @@ - - + + - -zchunk: 0.9.0 to 0.9.1 compatibility report + +zchunk: 0.9.1 to 0.9.1 compatibility report