Dear everybody,
I’ve got some probably newbie questions I would like to run by some experts before doing anything I might regret. Just did a system upgrade from FreeNas 11.3
to TrueNAS Scale 25.10.7 and I’m having trouble accessing my data.
I imported my pool just fine, but since my data just lives in the root dataset and one can not share this via SMB anymore, I had to create a new dataset. How should one move data from root dataset to the new child dataset? My pool is less then 50% full.
My second problem is that I cant access my smb share, being blocked my some permission issue. I created a new pool on the system and I can access this via smb just fine, so I’m generally capable of setting up a share. When I edit the ACL of my new child dataset, I get this:
[EPERM] Filesystem permissions on path /mnt/RisemP6 prevent access for user "Sebastian" to the path /mnt/RisemP6/NexGenNx586. This may be fixed by granting the aforementioned user execute permissions on the path: /mnt/RisemP6.
I assume this is because the root dataset is owned by root and I therefore neither here nor via smb can traverse to my new dataset.
I’ve read here: Trouble allowing a user to traverse through root to subdirectories - #2 by Samuel_Tai that I can just chmod 755 /mnt/RisemP6 and I assume this would fix my issue, but chmod on ZFS in my mind is asking for trouble, so I would like to hear oppinions on if this is acutally my problem and if so if this is the way to fix it.
pls also see the stat output
truenas_admin@truenas[~]$ stat /mnt/RisemP6
File: /mnt/RisemP6
Size: 84 Blocks: 115 IO Block: 16384 directory
Device: 0,76 Inode: 4 Links: 41
Access: (0770/drwxrwx---) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2026-09-26 21:50:49.845057688 +0200
Modify: 2026-09-26 21:50:49.661055978 +0200
Change: 2026-09-26 21:50:49.661055978 +0200
Birth: 2023-08-26 19:50:56.607475861 +0200
Many thanks to everybody who took the time to read this and help me out!
Cheers
eleanor1967
yeah /mnt/RisemP6 is 770 root:root so Sebastian cant traverse into the child dataset. chmod 755 on that root mount is fine on zfs. or give him execute (traverse) on RisemP6 in the ACL editor.
for moving data into the child (pool under 50%):
-stop anything using the old files
-rsync -aHAX --info=progress2 /mnt/RisemP6/OLDDIR/ /mnt/RisemP6/NexGenNx586/
-check it, then delete the old copies from the root dataset
keep the smb share on the child only. dont share the root dataset.
Thank you for your answer. I did chmod 755 and now I can access my share. rsync gives me errors when setting permissions on the child dataset though:
0:00:01 (xfr#26, to-chk=1/28)rsync: [receiver] mkstemp "/mnt/RisemP6/NexGenNx586/FOLDER/FILENAME" failed: Operation not permitted (1)
I assume this could be caused by the -A and -X flags? Is it safe to drop these or use different flags?
yeah -A and -X blow up a lot on nfs4 acl datasets. mkstemp fails when it tries to stamp acls/xattrs the child wont take.
id try:
-rsync -aH --info=progress2 /mnt/RisemP6/OLDDIR/ /mnt/RisemP6/NexGenNx586/
(skip -A -X)
or
-rsync -aH --no-acls --no-xattrs --info=progress2 /mnt/RisemP6/OLDDIR/ /mnt/RisemP6/NexGenNx586/
after the copy, fix perms on the child in the truenas acl editor instead of letting rsync push them.
Sadly no dice so far.
sudo rsync -aH --no-acls --no-xattrs --info=progress2 /mnt/RisemP6/FOLDER /mnt/RisemP6/NexGenNx586
gives me
rsync: [generator] failed to set permissions on "/mnt/RisemP6/NexGenNx586/FOLDER": Operation not permitted (1)
32,768 0% 0.00kB/s 0:00:00 rsync: [receiver] mkstemp "/mnt/RisemP6/NexGenNx586/FODLER/.PXL_20230730_175858966.TS.mp4.WeqrHZ" failed: Operation not permitted (1)
110,160,231 100% 1.71GB/s 0:00:00 (xfr#1, to-chk=0/2)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1338) [sender=3.2.7]
Why is there “WeqrHZ” or some other word salad after evey filename? Does that mean anything (bad)?
Did some reading and some suggest doing it this way:
rsync -rtDvi --no-perms --no-owner --no-group /mnt/RisemP6/FOLDER/ /mnt/RisemP6/NexGenNx586
Would this work without unintended or complicated consequences?
WeqrHZ is just rsyncs temp file name while it copies, normal.
ur -rtDvi --no-perms --no-owner --no-group line is the right idea. -a was still trying to stamp mode bits and the child nfs4 acl was rejecting the temp create.
id try:
-rsync -rtD --info=progress2 --no-perms --no-owner --no-group --no-acls --no-xattrs /mnt/RisemP6/FOLDER/ /mnt/RisemP6/NexGenNx586/
(trailing slash on both sides matters)
if mkstemp still dies even as root:
-getfacl /mnt/RisemP6/NexGenNx586
-in the truenas acl editor give owner@ full control on that child, save, rerun rsync
-or: cp -a --no-preserve=mode,ownership,xattr /mnt/RisemP6/FOLDER/. /mnt/RisemP6/NexGenNx586/
then fix perms in the gui after
Finally had time to give it ago, your rsync suggestion worked perfectly. Thank you so much for your time!