Pool und Dataset sind unterschiedliche Gegenstände
Eine Funktion nach dem tatsächlich beobachteten Objekttyp beurteilen.
Beim Lesen eines Storage-Adapters ist der Funktionsname nur ein Hinweis. Entscheidend ist, welchen Befehl er aufruft und welches Objekt dieser Befehl beschreibt. Ein ZFS-Pool stellt den gemeinsamen Speicherverbund dar; Datasets sind darin organisierte Dateisysteme oder Volumes. Eine Funktion, die Dataset-Eigenschaften liest, liefert deshalb nicht allein wegen ihres Namens eine Poolliste. Zeichne vor der weiteren Verarbeitung ein kleines Begriffsmodell. So verhinderst du, dass nachfolgende Komponenten versehentlich verschiedene Ebenen vergleichen.
Ein Beispiel
Der erfundene Pool tank enthält tank/projekte und tank/archiv. Eine Ausgabe mit NAME, USED, AVAIL, REFER und MOUNTPOINT beschreibt hier Datasets. Die Frage ‚welche Pools sind importiert?‘ verlangt eine andere Beobachtung als ‚welche Datasets gibt es?‘.