diff options
author | Chunwei Chen <[email protected]> | 2018-02-01 16:19:36 -0800 |
---|---|---|
committer | Tony Hutter <[email protected]> | 2018-03-14 16:10:36 -0700 |
commit | 18c662b84566cd34e6f6fb982d6a01a415a4e3cd (patch) | |
tree | 3c61bddf2f95279e6427e772e44b07fc26667fc3 /man/man8 | |
parent | c797f0898ec11669427e2fc481118bc2e2d8ef3f (diff) |
Fix zdb -R decompression
There are some issues in the zdb -R decompression implementation.
The first is that ZLE can easily decompress non-ZLE streams. So we add
ZDB_NO_ZLE env to make zdb skip ZLE.
The second is the random bytes appended to pabd, pbuf2 stuff. This serve
no purpose at all, those bytes shouldn't be read during decompression
anyway. Instead, we randomize lbuf2, so that we can make sure
decompression fill exactly to lsize by bcmp lbuf and lbuf2.
The last one is the condition to detect fail is wrong.
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: loli10K <[email protected]>
Signed-off-by: Chunwei Chen <[email protected]>
Closes #7099
Closes #4984
Diffstat (limited to 'man/man8')
-rw-r--r-- | man/man8/zdb.8 | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/man/man8/zdb.8 b/man/man8/zdb.8 index 4e47de7be..d991aae4c 100644 --- a/man/man8/zdb.8 +++ b/man/man8/zdb.8 @@ -246,7 +246,9 @@ and, optionally, .It Sy b Ar offset Print block pointer .It Sy d -Decompress the block +Decompress the block. Set environment variable +.Nm ZBD_NO_ZLE +to skip zle when guessing. .It Sy e Byte swap the block .It Sy g |