From e719550694aa79f67ac3cfef8749b5d592fa94a9 Mon Sep 17 00:00:00 2001 From: Michel Weitbrecht Date: Mon, 11 May 2020 14:34:33 +0200 Subject: [PATCH 1/2] maintainers: Add SlothOfAnarchy --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 58ca670ad42..14700abfdbb 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -7130,6 +7130,12 @@ githubId = 1505617; name = "Sean Lee"; }; + SlothOfAnarchy = { + email = "slothofanarchy1@gmail.com"; + github = "SlothOfAnarchy"; + githubId = 12828415; + name = "Michel Weitbrecht"; + }; smakarov = { email = "setser200018@gmail.com"; github = "setser"; From 90533bfde2494a8acff9a9f3878b97392c6c5891 Mon Sep 17 00:00:00 2001 From: Michel Weitbrecht Date: Mon, 11 May 2020 14:35:11 +0200 Subject: [PATCH 2/2] nixos/znapzend: Add oracleMode feature; add maintainer The feature destroys snapshots one-by-one instead of all at once. If many snapshots accumulated, destroying them all at once can fail because the argument list is too long. See https://github.com/oetiker/znapzend/blob/master/lib/ZnapZend/ZFS.pm#L284 --- nixos/modules/services/backup/znapzend.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/backup/znapzend.nix b/nixos/modules/services/backup/znapzend.nix index 98cd647f61a..0811b23e35a 100644 --- a/nixos/modules/services/backup/znapzend.nix +++ b/nixos/modules/services/backup/znapzend.nix @@ -357,6 +357,12 @@ in default = false; }; + features.oracleMode = mkEnableOption '' + Destroy snapshots one by one instead of using one long argument list. + If source and destination are out of sync for a long time, you may have + so many snapshots to destroy that the argument gets is too long and the + command fails. + ''; features.recvu = mkEnableOption '' recvu feature which uses -u on the receiving end to keep the destination filesystem unmounted. @@ -458,5 +464,5 @@ in }; }; - meta.maintainers = with maintainers; [ infinisil ]; + meta.maintainers = with maintainers; [ infinisil SlothOfAnarchy ]; }