zfs/cmd/zstream
Paul Dagnelie 9f4ede63d2
Add ability to recompress send streams with new compression algorithm
As new compression algorithms are added to ZFS, it could be useful for 
people to recompress data with new algorithms. There is currently no 
mechanism to do this aside from copying the data manually into a new 
filesystem with the new algorithm enabled. This tool allows the 
transformation to happen through zfs send, allowing it to be done 
efficiently to remote systems and in an incremental fashion.

A new zstream command is added that decompresses WRITE records and 
then recompresses them with a provided algorithm, and then re-emits 
the modified send stream. It may also be possible to re-compress 
embedded block pointers, but that was not attempted for the initial 
version.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
Signed-off-by: Paul Dagnelie <pcd@delphix.com>
Closes #14106
2022-11-10 15:23:46 -08:00
..
Makefile.am Add ability to recompress send streams with new compression algorithm 2022-11-10 15:23:46 -08:00
zstream.c Add ability to recompress send streams with new compression algorithm 2022-11-10 15:23:46 -08:00
zstream.h Add ability to recompress send streams with new compression algorithm 2022-11-10 15:23:46 -08:00
zstream_decompress.c Use intptr_t when storing an integer in a pointer 2022-11-03 09:52:23 -07:00
zstream_dump.c Fix declarations of non-global variables 2022-10-18 11:05:32 -07:00
zstream_recompress.c Add ability to recompress send streams with new compression algorithm 2022-11-10 15:23:46 -08:00
zstream_redup.c Add a "zstream decompress" subcommand 2022-06-24 13:28:42 -07:00
zstream_token.c Fix userland dereference NULL return value bugs 2022-09-30 17:02:57 -07:00