]> git.proxmox.com Git - mirror_zfs.git/commit
Fix zdb -R decompression
authorChunwei Chen <david.chen@nutanix.com>
Fri, 2 Feb 2018 00:19:36 +0000 (16:19 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 9 Feb 2018 18:11:02 +0000 (10:11 -0800)
commit950e17c215be4e6da72a61b0431337643a82b509
tree9e315a3599e3085703a8f5772eed762e1464ddc1
parent0c0b0ad48addf342fcff29253a40282c00d5ce65
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 <behlendorf1@llnl.gov>
Reviewed-by: loli10K <ezomori.nozomu@gmail.com>
Signed-off-by: Chunwei Chen <david.chen@nutanix.com>
Closes #7099
Closes #4984
cmd/zdb/zdb.c
man/man8/zdb.8