mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-19 20:21:14 +00:00
Merge pull request #72080 from Infinisil/znapzend-improvements
Znapzend improvements
This commit is contained in:
commit
e7a6123a07
|
@ -34,6 +34,8 @@ let
|
|||
description = "string of the form number{b|k|M|G}";
|
||||
};
|
||||
|
||||
enabledFeatures = concatLists (mapAttrsToList (name: enabled: optional enabled name) cfg.features);
|
||||
|
||||
# Type for a string that must contain certain other strings (the list parameter).
|
||||
# Note that these would need regex escaping.
|
||||
stringContainingStrings = list: let
|
||||
|
@ -354,6 +356,22 @@ in
|
|||
'';
|
||||
default = false;
|
||||
};
|
||||
|
||||
features.recvu = mkEnableOption ''
|
||||
recvu feature which uses <literal>-u</literal> on the receiving end to keep the destination
|
||||
filesystem unmounted.
|
||||
'';
|
||||
features.compressed = mkEnableOption ''
|
||||
compressed feature which adds the options <literal>-Lce</literal> to
|
||||
the <command>zfs send</command> command. When this is enabled, make
|
||||
sure that both the sending and receiving pool have the same relevant
|
||||
features enabled. Using <literal>-c</literal> will skip unneccessary
|
||||
decompress-compress stages, <literal>-L</literal> is for large block
|
||||
support and -e is for embedded data support. see
|
||||
<citerefentry><refentrytitle>znapzend</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
and <citerefentry><refentrytitle>zfs</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
||||
for more info.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -381,12 +399,22 @@ in
|
|||
'';
|
||||
|
||||
serviceConfig = {
|
||||
# znapzendzetup --import apparently tries to connect to the backup
|
||||
# host 3 times with a timeout of 30 seconds, leading to a startup
|
||||
# delay of >90s when the host is down, which is just above the default
|
||||
# service timeout of 90 seconds. Increase the timeout so it doesn't
|
||||
# make the service fail in that case.
|
||||
TimeoutStartSec = 180;
|
||||
# Needs to have write access to ZFS
|
||||
User = "root";
|
||||
ExecStart = let
|
||||
args = concatStringsSep " " [
|
||||
"--logto=${cfg.logTo}"
|
||||
"--loglevel=${cfg.logLevel}"
|
||||
(optionalString cfg.noDestroy "--nodestroy")
|
||||
(optionalString cfg.autoCreation "--autoCreation")
|
||||
(optionalString (enabledFeatures != [])
|
||||
"--features=${concatStringsSep "," enabledFeatures}")
|
||||
]; in "${pkgs.znapzend}/bin/znapzend ${args}";
|
||||
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
||||
Restart = "on-failure";
|
||||
|
|
Loading…
Reference in a new issue