Skip to content
Daniel Berger edited this page Oct 30, 2026 · 2 revisions

ZFS

The ZFS app presents pool health, dataset properties, encryption state, and recent snapshots without trying to expose every zpool or zfs subcommand.

BSDRunner ZFS pool and dataset manager

Open it

Choose ZFS in the App Launcher or run:

sh ~/.config/bsdrunner/scripts/bsdrunner-zfs.sh

Header

The health card summarizes overall state and counts pools, datasets, and recent snapshots. Pool cards show name, health, and free capacity. Refresh rereads ZFS state. Snapshots switches the selected dataset into snapshot mode.

Dataset list

The left panel lists pools and child datasets with used space and mountpoint. Pool roots carry a Pool badge. Selecting a row changes both the central detail panel and the right-side management panel.

Dataset Details panel

The center panel shows dataset name, type, mountpoint, and encryption badge. Storage summarizes used, available, referenced, quota, reservation, compression, atime, and recordsize values. Encryption Properties reports encryption, keystatus, key location/format, and encryption root when available. Inherited and unset values are labeled instead of being guessed.

Dataset Management panel

For the selected dataset:

  • New Dataset opens the creation dialog.
  • Snapshots switches to the snapshot browser and creation controls.
  • Selected Dataset summarizes the current dataset and its recent snapshot count.

Create Dataset dialog

BSDRunner ZFS Create Dataset dialog

Choose a parent and enter a child name or nested path. The app can create missing parents in that relative path. Optional controls set mountpoint, quota, reservation, compression, atime, and recordsize; inherit preserves the parent's policy. Preset names include jails and data.

Review the full resulting dataset name before confirming. The app validates names and option values before dispatching ZFS.

Snapshot mode

BSDRunner ZFS snapshot browser and controls

The center panel lists snapshots for the selected dataset with creation time, used space, and referenced space. The right panel accepts an optional label or the manual, before-update, and experiment presets. If no label is supplied, BSDRunner creates a timestamp-oriented name.

Select a snapshot to expose:

  • Rollback — revert the dataset to that snapshot.
  • Destroy — remove the snapshot.

Both are destructive enough to require confirmation. The recursive-snapshot option is also presented explicitly rather than being silently enabled.

A practical before-change workflow

  1. Select the dataset that will be changed.
  2. Open Snapshots.
  3. Choose before-update or enter a descriptive label.
  4. Decide whether child datasets should be included recursively.
  5. Create and confirm the snapshot.
  6. Verify it appears in the snapshot list before making the risky change.

The current app focuses on datasets and snapshots. Pool creation, import/export, device replacement, scrub control, replication, and key loading remain command-line or future-work tasks.

Back to the BSDRunner Apps overview.

Clone this wiki locally