-
-
Notifications
You must be signed in to change notification settings - Fork 130
Open
Description
My config:
stream_compress zstd
stream_compress_level default
stream_compress_threads 0 # zstd will detect physical CPU cores
stream_compress_long default
stream_compress_adapt yes
I don't see --long
in the output:
### (dryrun) btrfs send -p '/media/ssd/btrbk/rootfs/rootfs.20250406T1553' '/media/ssd/btrbk/rootfs/rootfs.20250410T0800' | mbuffer -v 1 -m 2
56m | zstd -c -T0 --adapt | ssh -i '/root/.ssh/id_ed25519_nas_btrbk' -o compression=no root@nas 'zstd -d -c -T0 --adapt | mbuffer -v 1 -q -m
256m | btrfs receive '\''/btrbk/svelte/rootfs/'\'''
The man page says:
stream_compress_long default|<number>
Enable long distance matching for the specified <compress_command>.
Refer to the related man-page for details. Only supported for "zstd".
zstd man page says:
○ --long[=#]: enables long distance matching with # windowLog, if #
is not present it defaults to 27. This increases the window size
(windowLog) and memory usage for both the compressor and decom‐
pressor. This setting is designed to improve the compression ratio
for files with long matches at a large distance.
I would expect to see --long
with default
and --long=<num>
with a number specified.
Work-around
stream_compress_long 27 # Work-around: explicitly set zstd's default == 2^27 == 128MB
Suggestion
Allow default
can actually use zstd
's default with --long
with no argument.
Add no
, or alternatively yes
:
stream_compress_long no|default|<number>
stream_compress_long yes|default|<number>
Metadata
Metadata
Assignees
Labels
No labels