Zpool mounted but dataset not appearing in the gui properly

Did a fresh scale install today (25.10.4 - Goldeye) and exported my zpool called “rust” from proxmox. After changing the mountpoint due to some “/mnt/mnt/” issues, I imported it via the GUI successfully and selected it as my app storage.

The thing is, even though I’ve created datasets under it, it isn’t visible at all under the “host path” section, when installing an app. If I try to start a share via the Shares tab it’s also not visible there. Another zpool I created via truenas (dvr) is though. If I manually type in the path (/mnt/rust/child-dataset), apps use that storage location fine. I just don’t have the tree to select the dataset in the gui:

Going to the datasets tab, it shows the rust dataset but I noticed it says it isn’t mounted in the bottom right in the permissions section. This isn’t the case because because if I run “zfs list rust”, it shows up mounted in the correct location. Also all the child datasets of rust don’t show the same problem in the permissions section.

zfs list output:

madotsuki% zfs list rust
NAME USED AVAIL REFER MOUNTPOINT
rust 6.07T 1.07T 128K /mnt/rust

I can access all files just fine via the cli and apps seem to have no trouble either. Just wondering why the truenas gui won’t let met select it from the tree.

What’s the output of zfs list -r rust and zfs get -r mountpoint rust?

Here they are. Sorry for all the snapshots. Need to clear them out.

madotsuki% zfs list -r rust
NAME USED AVAIL REFER MOUNTPOINT
rust 6.07T 1.07T 128K /mnt/rust
rust/backup 1.02T 1.07T 1.02T /mnt/rust/backup
rust/configs 282M 1.07T 96K /mnt/rust/configs
rust/configs/channels 281M 1.07T 281M /mnt/rust/configs/channels
rust/home 136K 1.07T 136K /mnt/rust/home
rust/ix-apps 353M 1.07T 120K /mnt/.ix-apps
rust/ix-apps/app_configs 540K 1.07T 540K /mnt/.ix-apps/app_configs
rust/ix-apps/app_mounts 96K 1.07T 96K /mnt/.ix-apps/app_mounts
rust/ix-apps/docker 10.6M 1.07T 10.6M /mnt/.ix-apps/docker
rust/ix-apps/truenas_catalog 341M 1.07T 341M /mnt/.ix-apps/truenas_catalog
rust/monoko 1.30T 1.07T 1.27T /mnt/rust/monoko
rust/nas 3.65T 1.07T 3.57T /mnt/rust/nas
rust/pve 102G 1.07T 71.9G /mnt/rust/pve
rust/test 128K 1.07T 128K /mnt/rust/test

madotsuki% zfs get -r mountpoint rust
NAME PROPERTY VALUE SOURCE
rust mountpoint /mnt/rust local
rust@autosnap_2026-06-24_02:00:06_hourly mountpoint - -
rust@autosnap_2026-06-24_03:00:04_hourly mountpoint - -
rust@autosnap_2026-06-24_04:00:04_hourly mountpoint - -
rust@autosnap_2026-06-24_05:00:02_hourly mountpoint - -
rust@autosnap_2026-06-24_06:00:05_hourly mountpoint - -
rust@autosnap_2026-06-24_07:00:05_hourly mountpoint - -
rust@autosnap_2026-06-24_08:00:06_hourly mountpoint - -
rust@autosnap_2026-06-24_09:00:04_hourly mountpoint - -
rust@autosnap_2026-06-24_10:00:04_hourly mountpoint - -
rust@autosnap_2026-06-24_11:00:06_hourly mountpoint - -
rust@autosnap_2026-06-24_12:00:04_hourly mountpoint - -
rust@autosnap_2026-06-24_13:00:02_hourly mountpoint - -
rust@autosnap_2026-06-24_14:00:06_hourly mountpoint - -
rust@autosnap_2026-06-24_15:00:03_hourly mountpoint - -
rust@autosnap_2026-06-24_16:00:05_hourly mountpoint - -
rust@autosnap_2026-06-24_17:00:02_hourly mountpoint - -
rust@autosnap_2026-06-24_18:00:02_hourly mountpoint - -
rust@autosnap_2026-06-24_19:00:26_hourly mountpoint - -
rust@autosnap_2026-06-24_20:01:11_hourly mountpoint - -
rust@autosnap_2026-06-24_21:01:36_hourly mountpoint - -
rust@autosnap_2026-06-24_22:00:28_hourly mountpoint - -
rust@autosnap_2026-06-24_23:00:06_hourly mountpoint - -
rust@autosnap_2026-06-25_00:00:05_hourly mountpoint - -
rust@autosnap_2026-06-25_02:20:49_hourly mountpoint - -
rust/backup mountpoint /mnt/rust/backup inherited from rust
rust/backup@autosnap_2026-06-24_02:00:04_hourly mountpoint - -
rust/backup@autosnap_2026-06-24_03:00:05_hourly mountpoint - -
rust/backup@autosnap_2026-06-24_04:00:06_hourly mountpoint - -
rust/backup@autosnap_2026-06-24_05:00:05_hourly mountpoint - -
rust/backup@autosnap_2026-06-24_06:00:07_hourly mountpoint - -
rust/backup@autosnap_2026-06-24_07:00:06_hourly mountpoint - -
rust/backup@autosnap_2026-06-24_08:00:03_hourly mountpoint - -
rust/backup@autosnap_2026-06-24_09:00:03_hourly mountpoint - -
rust/backup@autosnap_2026-06-24_10:00:04_hourly mountpoint - -
rust/backup@autosnap_2026-06-24_11:00:07_hourly mountpoint - -
rust/backup@autosnap_2026-06-24_12:00:06_hourly mountpoint - -
rust/backup@autosnap_2026-06-24_13:00:05_hourly mountpoint - -
rust/backup@autosnap_2026-06-24_14:00:05_hourly mountpoint - -
rust/backup@autosnap_2026-06-24_15:00:04_hourly mountpoint - -
rust/backup@autosnap_2026-06-24_16:00:04_hourly mountpoint - -
rust/backup@autosnap_2026-06-24_17:00:03_hourly mountpoint - -
rust/backup@autosnap_2026-06-24_18:00:04_hourly mountpoint - -
rust/backup@autosnap_2026-06-24_19:01:06_hourly mountpoint - -
rust/backup@autosnap_2026-06-24_20:01:30_hourly mountpoint - -
rust/backup@autosnap_2026-06-24_21:00:23_hourly mountpoint - -
rust/backup@autosnap_2026-06-24_22:01:28_hourly mountpoint - -
rust/backup@autosnap_2026-06-24_23:00:02_hourly mountpoint - -
rust/backup@autosnap_2026-06-25_00:00:04_hourly mountpoint - -
rust/backup@autosnap_2026-06-25_02:20:50_hourly mountpoint - -
rust/configs mountpoint /mnt/rust/configs inherited from rust
rust/configs/channels mountpoint /mnt/rust/configs/channels inherited from rust
rust/home mountpoint /mnt/rust/home inherited from rust
rust/ix-apps mountpoint /mnt/.ix-apps local
rust/ix-apps/app_configs mountpoint /mnt/.ix-apps/app_configs inherited from rust/ix-apps
rust/ix-apps/app_mounts mountpoint /mnt/.ix-apps/app_mounts inherited from rust/ix-apps
rust/ix-apps/docker mountpoint /mnt/.ix-apps/docker inherited from rust/ix-apps
rust/ix-apps/truenas_catalog mountpoint /mnt/.ix-apps/truenas_catalog inherited from rust/ix-apps
rust/monoko mountpoint /mnt/rust/monoko inherited from rust
rust/monoko@autosnap_2026-06-24_02:00:03_hourly mountpoint - -
rust/monoko@autosnap_2026-06-24_03:00:02_hourly mountpoint - -
rust/monoko@autosnap_2026-06-24_04:00:03_hourly mountpoint - -
rust/monoko@autosnap_2026-06-24_05:00:03_hourly mountpoint - -
rust/monoko@autosnap_2026-06-24_06:00:04_hourly mountpoint - -
rust/monoko@autosnap_2026-06-24_07:00:02_hourly mountpoint - -
rust/monoko@autosnap_2026-06-24_08:00:06_hourly mountpoint - -
rust/monoko@autosnap_2026-06-24_09:00:05_hourly mountpoint - -
rust/monoko@autosnap_2026-06-24_10:00:05_hourly mountpoint - -
rust/monoko@autosnap_2026-06-24_11:00:04_hourly mountpoint - -
rust/monoko@autosnap_2026-06-24_12:00:05_hourly mountpoint - -
rust/monoko@autosnap_2026-06-24_13:00:06_hourly mountpoint - -
rust/monoko@autosnap_2026-06-24_14:00:04_hourly mountpoint - -
rust/monoko@autosnap_2026-06-24_15:00:05_hourly mountpoint - -
rust/monoko@autosnap_2026-06-24_16:00:02_hourly mountpoint - -
rust/monoko@autosnap_2026-06-24_17:00:04_hourly mountpoint - -
rust/monoko@autosnap_2026-06-24_18:00:04_hourly mountpoint - -
rust/monoko@autosnap_2026-06-24_19:02:28_hourly mountpoint - -
rust/monoko@autosnap_2026-06-24_20:00:24_hourly mountpoint - -
rust/monoko@autosnap_2026-06-24_21:00:02_hourly mountpoint - -
rust/monoko@autosnap_2026-06-24_22:01:58_hourly mountpoint - -
rust/monoko@autosnap_2026-06-24_23:00:03_hourly mountpoint - -
rust/monoko@autosnap_2026-06-25_00:00:03_hourly mountpoint - -
rust/monoko@autosnap_2026-06-25_02:20:51_hourly mountpoint - -
rust/nas mountpoint /mnt/rust/nas inherited from rust
rust/nas@autosnap_2026-06-24_02:00:07_hourly mountpoint - -
rust/nas@autosnap_2026-06-24_03:00:03_hourly mountpoint - -
rust/nas@autosnap_2026-06-24_04:00:06_hourly mountpoint - -
rust/nas@autosnap_2026-06-24_05:00:04_hourly mountpoint - -
rust/nas@autosnap_2026-06-24_06:00:06_hourly mountpoint - -
rust/nas@autosnap_2026-06-24_07:00:04_hourly mountpoint - -
rust/nas@autosnap_2026-06-24_08:00:05_hourly mountpoint - -
rust/nas@autosnap_2026-06-24_09:00:02_hourly mountpoint - -
rust/nas@autosnap_2026-06-24_10:00:06_hourly mountpoint - -
rust/nas@autosnap_2026-06-24_11:00:03_hourly mountpoint - -
rust/nas@autosnap_2026-06-24_12:00:03_hourly mountpoint - -
rust/nas@autosnap_2026-06-24_13:00:04_hourly mountpoint - -
rust/nas@autosnap_2026-06-24_14:00:06_hourly mountpoint - -
rust/nas@autosnap_2026-06-24_15:00:06_hourly mountpoint - -
rust/nas@autosnap_2026-06-24_16:00:03_hourly mountpoint - -
rust/nas@autosnap_2026-06-24_17:00:06_hourly mountpoint - -
rust/nas@autosnap_2026-06-24_18:00:03_hourly mountpoint - -
rust/nas@autosnap_2026-06-24_19:01:40_hourly mountpoint - -
rust/nas@autosnap_2026-06-24_20:00:02_hourly mountpoint - -
rust/nas@autosnap_2026-06-24_21:00:46_hourly mountpoint - -
rust/nas@autosnap_2026-06-24_22:00:03_hourly mountpoint - -
rust/nas@autosnap_2026-06-24_23:00:04_hourly mountpoint - -
rust/nas@autosnap_2026-06-25_00:00:02_hourly mountpoint - -
rust/nas@autosnap_2026-06-25_02:20:47_hourly mountpoint - -
rust/pve mountpoint /mnt/rust/pve inherited from rust
rust/pve@autosnap_2026-06-24_02:00:09_hourly mountpoint - -
rust/pve@autosnap_2026-06-24_03:00:06_hourly mountpoint - -
rust/pve@autosnap_2026-06-24_04:00:05_hourly mountpoint - -
rust/pve@autosnap_2026-06-24_05:00:06_hourly mountpoint - -
rust/pve@autosnap_2026-06-24_06:00:03_hourly mountpoint - -
rust/pve@autosnap_2026-06-24_07:00:05_hourly mountpoint - -
rust/pve@autosnap_2026-06-24_08:00:04_hourly mountpoint - -
rust/pve@autosnap_2026-06-24_09:00:04_hourly mountpoint - -
rust/pve@autosnap_2026-06-24_10:00:03_hourly mountpoint - -
rust/pve@autosnap_2026-06-24_11:00:05_hourly mountpoint - -
rust/pve@autosnap_2026-06-24_12:00:02_hourly mountpoint - -
rust/pve@autosnap_2026-06-24_13:00:06_hourly mountpoint - -
rust/pve@autosnap_2026-06-24_14:00:03_hourly mountpoint - -
rust/pve@autosnap_2026-06-24_15:00:02_hourly mountpoint - -
rust/pve@autosnap_2026-06-24_16:00:06_hourly mountpoint - -
rust/pve@autosnap_2026-06-24_17:00:05_hourly mountpoint - -
rust/pve@autosnap_2026-06-24_18:00:05_hourly mountpoint - -
rust/pve@autosnap_2026-06-24_19:00:02_hourly mountpoint - -
rust/pve@autosnap_2026-06-24_20:00:51_hourly mountpoint - -
rust/pve@autosnap_2026-06-24_21:01:08_hourly mountpoint - -
rust/pve@autosnap_2026-06-24_22:00:59_hourly mountpoint - -
rust/pve@autosnap_2026-06-24_23:00:05_hourly mountpoint - -
rust/pve@autosnap_2026-06-25_00:00:06_hourly mountpoint - -
rust/pve@autosnap_2026-06-25_02:20:51_hourly mountpoint - -
rust/test mountpoint /mnt/rust/test inherited from rust

All the mountpoints look to be inherited correctly. Can you go into the Jobs page in the UI, and search for the pool.import_pool_on_boot job? Is that green? This could just be a timing issue, and may go away after a reboot.

I couldn’t see the job in the list so I rebooted the server and pool.import_on_boot was there and green. None of the other jobs seem to have failed.

It’s just so odd that the pool is clearly mounted in the right place if I can type in the path manually while installing an app. I can see the pool on the dataset gui, but it just doesn’t appear when selecting a path for apps/shares. It’s not the end of the world having to manually type in the path rather than relying on the gui dataset picker for apps, but I just worry there’s an underlying problem that might crop up elsewhere.

There’s no way this could be a permissions issue is there? The rust mountpoint is owned by root though, even if a lot of the subdirectories aren’t.

Yeah, it’s likely a permissions issue. The apps need for the apps UID to be able to navigate through the directory tree. It’s likely you’re missing the traverse permission for the apps UID/GID.

The thing is, the newly created child dataset (rust/test) has the exact same permissions as a dataset on dvr (dvr/channels) which the truenas gui can see in the tree:

madotsuki% stat /mnt/rust/test
  File: /mnt/rust/test
  Size: 4               Blocks: 49         IO Block: 16384  directory
Device: 0,59    Inode: 34          Links: 3
Access: (0770/drwxrwx---)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2026-06-25 11:36:04.613200089 +0100
Modify: 2026-06-25 11:36:04.609200071 +0100
Change: 2026-06-25 11:36:04.609200071 +0100
 Birth: 2026-06-25 11:35:24.421023921 +0100

madotsuki% stat /mnt/dvr/channels
  File: /mnt/dvr/channels
  Size: 3               Blocks: 1          IO Block: 512    directory
Device: 0,54    Inode: 34          Links: 3
Access: (0770/drwxrwx---)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2026-06-25 05:51:13.922505376 +0100
Modify: 2026-06-25 05:53:14.047110963 +0100
Change: 2026-06-25 08:59:34.777700018 +0100
 Birth: 2026-06-25 05:51:13.922505376 +0100

The apps uid should be able to traverse through the rust directories if the permissions are identical to the dvr dataset that works correctly, right? In fact it must be traversable if it works when I manually type in the dataset directory.

madotsuki% namei -l /mnt/rust/test
f: /mnt/rust/test
drwxr-xr-x root root /
drwxr-xr-x root root mnt
drwxr-xr-x root root rust
drwxrwx--- root root test

madotsuki% namei -l /mnt/dvr/channels
f: /mnt/dvr/channels
drwxr-xr-x root root /
drwxr-xr-x root root mnt
drwxr-xr-x root root dvr
drwxrwx--- root root channels

Try changing the permissions to 775 for the invisible datasets.

Set both /mnt/rust and /mnt/rust/temp to 775.

madotsuki% sudo chmod -v 775 /mnt/rust/
mode of '/mnt/rust/' changed from 0755 (rwxr-xr-x) to 0775 (rwxrwxr-x)

madotsuki% sudo chmod -v 775 /mnt/rust/temp/
mode of '/mnt/rust/temp/' changed from 0770 (rwxrwx---) to 0775 (rwxrwxr-x)

Rebooted the system and both the root rust and rust/temp child dataset are still invisible. Here’s the view of the share screen showing the same problem.

I noticed you have multiple pools. This might be a TrueNAS bug only making the first pool visible in the Apps UI. I’ll need to look at the Python code of the middleware tonight.

Sounds good. If you need any more information I’m happy to provide it.

Thanks a lot for your help so far.

Just to confirm my hunch, can you:

  1. Export your dvr pool. Uncheck the boxes for deleting the configs dependent on that pool and for destroying the data in the pool.
  2. Does the rust pool now become visible in the apps and share UI?
  3. Re-import your dvr pool.
  4. Does the rust pool become invisible?

I don’t see anything untoward in the middlewared code. I also tested mounting a second pool on my Scale system. The path chooser works in both pools for both apps and the sharing wizard.

Can you run zpool get all for both pools, and compare the output?

Tried it out. Unfortunately the rust pool doesn’t appear and the dataset picker just shows /mnt and no datasets:

Here’s the comparison with the identical fields omitted. The rust pool is quite old and has been upgraded. Not sure if the differences here are due to that or the different defaults proxmox used when I created it.

The only thing I can think of is your system’s zpool.cache thinks your rust pool is still using the /mnt/mnt path. You may have to export your rust pool and import it under a new name to overcome this. The import rename has to be done from CLI as zpool import -R /mnt rust <new name>.

It’s not looking good.

madotsuki% sudo zpool import -R /mnt rust capy
madotsuki% ls /mnt
capy  dvr  nasu  rust

It mounted fine (I did have to run zfs inherit mountpoint capy because it was hard set to mount at /mnt/rust) but I couldn’t see the pool in truenas. So I re-exported it and imported it via the gui and it appeared again fine. Unfortunately the dataset still isn’t in the picker.

Rebooted to make sure and still nothing. I seem to have a cursed pool on my hands. I’d love to just start from fresh and create a new pool and move my files over but I don’t have the drives available to do so.

Go ahead and submit a bug report. The middleware is supposed to accept ZFS pools created externally. I don’t see anything obvious in the pool properties or datasets to cause this issue.