Add a "zstream decompress" subcommand

It can be used to repair a ZFS file system corrupted by ZFS bug #12762.
Use it like this:

zfs send -c <DS> | \
zstream decompress <OBJECT>,<OFFSET>[,<COMPRESSION_ALGO>] ... | \
zfs recv <DST_DS>

Reviewed-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Allan Jude <allan@klarasystems.com>
Signed-off-by: Alan Somers <asomers@gmail.com>
Sponsored-by:  Axcient
Workaround for #12762
Closes #13256
This commit is contained in:
Alan Somers
2022-06-24 14:28:42 -06:00
committed by GitHub
parent 1c0c729ab4
commit ccf89b39fe
7 changed files with 425 additions and 5 deletions
+2
View File
@@ -4,6 +4,7 @@ CPPCHECKTARGETS += zstream
zstream_SOURCES = \
%D%/zstream.c \
%D%/zstream.h \
%D%/zstream_decompress.c \
%D%/zstream_dump.c \
%D%/zstream_redup.c \
%D%/zstream_token.c
@@ -11,6 +12,7 @@ zstream_SOURCES = \
zstream_LDADD = \
libzfs.la \
libzfs_core.la \
libzpool.la \
libnvpair.la
PHONY += install-exec-hook