You are not logged in.
Dear community,
I'm facing a weird behaviour for file and directory creation on a ZFS dataset (/huge/dataset). This pool was imported from a freeNAS device (freeBSD) mainly used for file sharing (smb) on a windows network. It was imported to my archlinux using
# zpoll import -f hugeNow, when I create files with my user (daniel, uid=1000), files are created with mask: 700, but when I create files with another user, they get 000 mask. This is also valid for directories, and is very annoying, because I can't create any folder structure or access files I've just created.
daniel@cafe$ cd /huge/dataset
daniel@cafe$ touch file-daniel
daniel@cafe$ sudo -u fernando touch file-fernando
daniel@cafe$ ls -lha
-rwx------ 0 daniel cafe file-daniel
---------- 0 fernando cafe file-fernandoDefault acl masks seems to be ok
daniel@cafe ~ % getfacl /huge/dataset
# file: huge/dataset
# owner: daniel
# group: cafe
user::rwx
group::rwx
other::---Also, my zfs acl permissions are not enforcing any type of restrictions, so posix permissions should prevail.
daniel@cafe ~ % zfs get all | grep acl
huge aclmode passthrough local
huge aclinherit passthrough local
huge acltype off default
huge/dataset aclmode passthrough local
huge/dataset aclinherit passthrough inherited from huge
huge/dataset acltype off defaultI'm on a dead end. Can you guys help me investigate this problem further and find the culprit?
Last edited by cafe (2026-04-26 13:25:01)
Offline
why you had to force import (using -f)?
if force was required regular import should have given an explicit reason why importing the pool without might be harmful
please post output of
zpool list
zfs list
mount | grep zfs
findmnt /huge/dataset
stat /huge/datasetLast edited by cryptearth (2026-04-26 13:31:13)
Offline
I forgot to do an export on the previous computer. Here's what you requested:
daniel@cafe ~ % zpool list
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
huge 36.4T 9.41T 27.0T - - 8% 25% 1.00x ONLINE -
daniel@cafe ~ % zfs list
NAME USED AVAIL REFER MOUNTPOINT
huge 9.41T 26.8T 96K /huge
huge/dataset 9.41T 26.8T 9.41T /huge/dataset
daniel@cafe ~ % mount | grep zfs
huge on /huge type zfs (rw,noatime,xattr,noacl,casesensitive)
huge/dataset on /huge/dataset type zfs (rw,noatime,xattr,noacl,casesensitive)
daniel@cafe ~ % findmnt /huge/dataset
TARGET SOURCE FSTYPE OPTIONS
/huge/dataset huge/dataset zfs rw,noatime,xattr,noacl,casesensitive
daniel@cafe ~ % LANG=C stat /huge/dataset
File: /huge/dataset
Size: 11 Blocks: 49 IO Block: 16384 directory
Device: 0,56 Inode: 34 Links: 10
Access: (0770/drwxrwx---) Uid: ( 1000/ daniel) Gid: ( 1000/ daniel)
Access: 2023-08-13 22:08:38.974681491 -0300
Modify: 2026-04-26 09:50:09.515654804 -0300
Change: 2026-04-26 10:15:12.013101377 -0300
Birth: 2023-08-13 22:08:38.974681491 -0300Offline
Mod note: moving to AUR Issues.
Sakura:-
Mobo: MSI MAG X570S TORPEDO MAX // Processor: AMD Ryzen 9 5950X @4.9GHz // GFX: AMD Radeon RX 5700 XT // RAM: 32GB (4x 8GB) Corsair DDR4 (@ 3000MHz) // Storage: 1x 3TB HDD, 6x 1TB SSD, 2x 120GB SSD, 1x 275GB M2 SSD
Making lemonade from lemons since 2015.
Offline
what does
umaskgive?
does this happen only on the zfs pool or also on other partitions with different filesystems?
Offline
umask gives me 022.
This problem only happens inside this old dataset (/huge/dataset). I've created a new dataset inside the same 'huge' pool with
# zfs create huge/fernando
$ zfs list
NAME USED AVAIL REFER MOUNTPOINT
huge 9.41T 26.8T 96K /huge
huge/dataset 9.41T 26.8T 9.41T /huge/dataset
huge/fernando 5.30G 26.8T 5.30G /huge/fernandoWithin this new folder, posix permissions are working normally. I'll use this as a solution. Thank you for your support cryptearth. I'd still like to dig a little deeper to understand this issue, but luckly, it is a little less critical now.
Last edited by cafe (2026-04-27 10:14:18)
Offline
i would recommend report this as upstream issue - could be more to it: https://github.com/openzfs/zfs/issues
Last edited by cryptearth (2026-04-27 11:40:47)
Offline