After updateing to ElectricEel-24.10.2.2 from 24.10.2.1 All datasets shared with samba are empty

I hit my daily 20-post newbie limit yesterday, and I just want to give a huge shoutout to @winnielinnie for stepping up and helping me outside of the thread—your support was incredibly helpful! And I was able to resolve this issue!!!

For anyone encountering a similar issue, here’s a summary of the steps I took to resolve it:

The root of the problem was that I had data and directories stored directly on the root of the pool, rather than inside a dedicated dataset. TrueNas Scale does not expect this and strange things can happen as a result.

How to Check for This Issue
You can verify whether you have data on the pool root (outside of datasets) using the following commands:

zfs list -t filesystem -o name -d1 <Pool>
ls -l /mnt/<Pool>

If the ls command lists more directories than zfs list, those extra directories may be stored on the pool root without a dataset.

Steps to Resolve

In the TrueNAS Web UI:

  • Disable all apps and services except for SSH.

Unmount all datasets:

zfs umount <Pool>/<Dataset>

Create new datasets:
Creating all new datasets could have helped old permissions issues as well

  • In the UI, recreate all existing datasets with _old suffixes (e.g., Media_old).

  • Also create datasets for any directories that previously did not have one.

Verify data structure:

  • Use an FTP or SSH client to inspect the contents of both the existing and _old folders.

  • Make sure there are no naming conflicts.

    If there are conflicts, compare files manually to determine which versions to keep.
    

Copy data to new datasets:

cp -a --sparse=never /mnt/<Pool>/<Dataset>/* /mnt/<Pool>/<Dataset>_old/

Verify copied data:

Compare sizes to ensure everything copied correctly:

du -hs --apparent-size /mnt/<Pool>/<Dataset>*

Manually verify a few important files to make sure they are intact.

Clean up and rename:

  • After verifying the data in _old datasets:

    • Delete the original (non-_old) directories.

    • Rename the _old datasets to remove the _old suffix:

      zfs rename <Pool>/<Dataset>_old <Pool>/<Dataset>

    Reboot your server

      Check to ensure all datasets are showing up correctly.
    

Final Note

@Winnielinnie, please feel free to correct anything I may have misunderstood or misrepresented here. I’m just sharing my experience in the hopes it helps someone else!

1 Like