Derzeit nur gemountete Dateisysteme
Wenn Sie bereit sind, sich darauf zu beschränken derzeit montiert ZFS-Dateisysteme können Sie analysieren /proc/mounts
und benötigen keine besonderen ZFS-Kenntnisse (es sei denn, Sie möchten sich ausdrücklich auf ZFS-Dateisysteme beschränken).
Dies funktioniert möglicherweise nicht auf Linux-Systemen.
/ proc / mounts ist im Grunde genommen / etc / mtab, wird aber vom Kernel verwaltet. Es enthält eine Liste der Dateisystem-Sicherungsgeräte, Bereitstellungspfade, Dateisystemtypen und Dateisystemflags.
Um beispielsweise die Mount-Punkte aller gemounteten ZFS-Dateisysteme aufzulisten, können Sie Folgendes tun
$ awk '$3 == "zfs" { print $2 }' < /proc/mounts
So überprüfen Sie, ob ein bestimmtes Verzeichnis einem Bereitstellungspunkt für ein bereitgestelltes ZFS-Dateisystem entspricht:
$ awk '$3 == "zfs" && $2 == "/some/particular/absolute/path" { print "yes" }' < /proc/mounts
Um alle Dateisysteme (nicht nur ZFS) zuzulassen, entfernen Sie einfach das $3 == "zfs"
prüfen.
Montiert oder nicht gemountete ZFS-Dateisysteme
Wenn Sie nicht gemountete Dateisysteme in aktuell importierte Pools aufnehmen müssen, müssen Sie verwenden zfs get
So rufen Sie eine Liste aller ZFS-Mountpunkte in aktuell importierten Pools ab:
$ sudo zfs list -pH -o mountpoint | grep -q '^/some/particular/absolute/path$' && echo yes
wird gedruckt yes
wenn ein Dateisystem mit einem Einhängepunkt von /some/particular/absolute/path
ist in einem Pool vorhanden, der gerade importiert wird, unabhängig davon, ob dieses Dateisystem gerade eingehängt ist.
Dateisysteme für exportierte Pools
Mir ist keine Möglichkeit bekannt, Dateisysteme in exportierten Pools aufzulisten, ohne über Out-of-Band-Kenntnisse der Dateisysteme in den betreffenden Pools zu verfügen. Daher glaube ich nicht, dass diese Kombination möglich ist.
Abschlussnotizen
Überlegen Sie immer, ob es ein Dienstprogramm gibt, das das tut, was Sie wollen. Zum Beispiel, df
Als Nebeneffekt wird die Liste der aktuell gemounteten Dateisysteme und ihrer Sicherungsgeräte gedruckt, und es ist zu erwarten, dass sie nicht an Kernelmagie beteiligt sind (nur über Schnittstellen, die für den öffentlichen Gebrauch bestimmt sind). strace df 2>&1 | less
In diesem Fall ist dies ein guter Anfang, um zu sehen, wie Sie die gewünschten Informationen finden können.