Virtiofs mount from ZFS, cannot access if UID not 0, unknown io error: 'Os { code: 95, kind: Unsupported, message: "Operation not supported" }'

So I made a virtual machine on incus, host root is ext4 and vm root is ext4. But for large data I have a ZFS filesystem with everything on it so I want to mount directory path from it to inside VM.

So I mounted with this command

incus config device add server-vm-pub bulkdata disk source=/zpool1/FileStorage/srv path=/bulk

And it is working but there is problem. It seems that if the file or directory does not have uid 0, it can not be accessed.

root@server-vm-pub:/bulk# mkdir test
root@server-vm-pub:/bulk# ls test
root@server-vm-pub:/bulk# chown ubuntu test
root@server-vm-pub:/bulk# ls test
ls: unknown io error: 'test', 'Os { code: 95, kind: Unsupported, message: "Operation not supported" }'
root@server-vm-pub:/bulk# rm -rf test
root@server-vm-pub:/bulk# touch test
root@server-vm-pub:/bulk# cat test
root@server-vm-pub:/bulk# chown ubuntu test
root@server-vm-pub:/bulk# cat test
cat: test: Operation not supported
root@server-vm-pub:/bulk# rm test

I also cannot chown it if it’s a directory and it’s not owned by root..

root@server-vm-pub:/bulk# touch test
root@server-vm-pub:/bulk# chown ubuntu test
root@server-vm-pub:/bulk# chown root test
root@server-vm-pub:/bulk# stat test
  File: test
  size: 0               Blocks: 1          IO Block: 131072 regular empty file
Device: 0,56    Inode: 3527228     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2026-05-02 21:55:22.734446252 +0000
Modify: 2026-05-02 21:55:22.734446252 +0000
Change: 2026-05-02 21:55:33.842426622 +0000
 Birth: -
root@server-vm-pub:/bulk# rm test
root@server-vm-pub:/bulk# mkdir test
root@server-vm-pub:/bulk# chown ubuntu test
root@server-vm-pub:/bulk# chown root test
root@server-vm-pub:/bulk# stat test
  File: test
  size: 2               Blocks: 1          IO Block: 131072 directory
Device: 0,56    Inode: 3527229     Links: 2
Access: (0755/drwxr-xr-x)  Uid: ( 1000/  ubuntu)   Gid: (    0/    root)
Access: 2026-05-02 21:55:43.430409683 +0000
Modify: 2026-05-02 21:55:43.430409683 +0000
Change: 2026-05-02 21:55:45.914405295 +0000
 Birth: -
root@server-vm-pub:/bulk# rm test
rm: cannot remove 'test': Is a directory
root@server-vm-pub:/bulk# rm -rf test
root@server-vm-pub:/bulk#

Also if user is not root it is not able to access the mount at all even though all directories on both the host and guest are mode 755.

ubuntu@server-vm-pub:~$ cd /bulk
-bash: cd: /bulk: Operation not supported
ubuntu@server-vm-pub:~$ ls /bulk
ls: unknown io error: '/bulk', 'Os { code: 95, kind: Unsupported, message: "Operation not supported" }'
ubuntu@server-vm-pub:~$ stat /bulk
  File: /bulk
  size: 9               Blocks: 24         IO Block: 1024   directory
Device: 0,56    Inode: 1311662     Links: 9
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2026-05-02 21:56:56.426280834 +0000
Modify: 2026-05-02 21:56:03.386374438 +0000
Change: 2026-05-02 21:56:03.386374438 +0000
 Birth: -
ubuntu@server-vm-pub:~$

Even if directory inside is same owner:

root@server-vm-pub:/bulk# mkdir /bulk/test
root@server-vm-pub:/bulk# chown ubuntu /bulk/test
root@server-vm-pub:/bulk# sudo -u ubuntu ls /bulk/test
ls: unknown io error: '/bulk/test', 'Os { code: 95, kind: Unsupported, message: "Operation not supported" }'

Obviously this is huge problem. How to fix? I need both the host and guest to access this directory so I don’t want to use zvol and mount block device formatted as ext4 or whatever.

well I tried 9p but it seems to be entirely read-only with 9p

i’m stuck :confused:

Yay I figured it out!!!

zfs set acltype=posix zpool1/FileStorage

Now it works properly