Das Problem ist, dass -a bei zfs mount ein Flag ist, das
alle ZFS-Datasets mountet – es akzeptiert daher kein zusätzliches Argument. Du kannst also nicht zfs mount -a pool/dataset schreiben; das ergibt syntaktisch keinen Sinn für den Befehl, daher der Fehler „too many arguments".
Das eigentliche Problem: zfs load-key lädt standardmäßig nur den Key für
ein Dataset, nicht für Subdatasets. Du musst -r (recursive) verwenden.
Die korrekte Lösung für dein Vorhaben:
bash
# Keys für Dataset UND alle Subdatasets laden
zfs load-key -r pool/dataset
# Danach rekursiv mounten
zfs mount -R pool/dataset
Kurzübersicht der Flags:
| Befehl | Flag | Bedeutung |
|---|
| zfs load-key | -r | Rekursiv – lädt Keys für Dataset + alle Subdatasets |
| zfs mount | -R | Rekursiv – mountet Dataset + alle Subdatasets |
| zfs mount | -a | Alle ZFS-Datasets mounten (kein Argument möglich)
|