Why Can't I Use a Pool with IX Application child Dataset and SMB Share in Dragonfish?


I get the error seen in the screenshot. The only remedy is to boot into Cobia and below. I would like to take note that I did not change any of these settings while upgrading on Dragonfish. This type of setup worked Cobia and prior which is why I’m shocked that apparently I can not longer mount a pool for apps if it has an SMB share with an IX Application Dataset

Pre dragon scale should also complain about the setup.

Did you share the top level of your pool? You should not do that.

Yes I am sharing the top level of the pool.

I’ve used this same setup since Angelfish and it was working ok until Dragonfish. Now I rolled back to Cobia because it’s the only way apps work.

What do I do? I have 12 datasets below top level (including the ix applications one)

Do you have files on the top level or just in the datasets?

zfs create poolname/newdataset
# repeat this step for all your datasets, except ix-applications 
zfs rename poolname/dataset1 poolname/newdataset/dataset1

Point your SMB share to the new path of poolname/newdataset

You may stop your SMB service prior to that and stop all applications, that reference the current structure.

It’s set up as. Top Level Pool (12 individual datasets including ix applications).

Proceed as I layed out, if you have files scattered on the top level, move them to a dataset first.

Sorry if this sounds stupid but on the screenshot I showed you, I want to transfer everything to “Dataset”. Could you give me the exact commands I have to type given the screenshot. I’m not good with Shell

What exactly is unclear to you?

This will create a new dataset, or do it from the GUI.

This will “move” a dataset under the newly created dataset.

Please understand that I will not compile you a list of commands to copy and paste blindly. You need to understand what you are doing.

Alternatively you would need to move everything via smb to a new dataset, this will actually copy all of the data. The renaming approach will be much faster.

Because this is what I keep getting

root@truenas[~]# zfs rename WD Red Pro 16TB/Dropbox WD Red Pro 16TB/Dataset/Dropbox
too many arguments
usage:
rename [-f] <filesystem|volume|snapshot> <filesystem|volume|snapshot>
rename -p [-f] <filesystem|volume> <filesystem|volume>
rename -u [-f]
rename -r

For the property list, run: zfs set|get

For the delegated permission list, run: zfs allow|unallow

For further help on a command or topic, run: zfs help []

I’m guessing here, but the spaces in your pool name may be causing that error. You could try either using the UI to rename WD Red Pro 16TB to something without spaces and then using that in the zfs command or replacing the spaces in the command path with +.

Tried the + thing and it didn’t work. I’m too afraid I’ll break something if I rename my pool

Before you continue to run commands or try fixing things involving your existing data setup, please make sure you have a good working backup of all the data.

I think you will need to escape the name(s) with the spaces using single quotes or escape the space using a backslash in the command(s) the commands. If your pool name is Dropbox WD Red Pro 16TB
then you need to escape the name.
‘Dropbox WD Red Pro 16TB’
or
Dropbox\ WD\ Red\ Pro\ 16TB

Which would make the command look something like this when using single quotes:
zfs rename ‘WD Red Pro 16TB’/Dropbox ‘WD Red Pro 16TB’/Dataset/Dropbox

It’s generally a bad idea in *nix systems to use spaces in path names. In the future all pool, dataset and share names should not have spaces in them. Use either a cap, a dash, or an underline
WDRedPro16TB, WD-Red-Pro-16TB, or WD_Red_Pro_16TB

1 Like

Sorry for the week long delay as I got caught up in something. I tried the single quotes version and it didn’t work. Just to be sure how should I write the commands with the ?

What is your question?

Did you try the other variant you quoted?

i tried typing this with the quotes and it wasn’t working.
zfs rename ‘WD Red Pro 16TB’/Dropbox ‘WD Red Pro 16TB’/Dataset/Dropbox
I was looking for another suggestion which the other user said was using \

zfs rename WD\ Red\ Pro\ 16TB/Dropbox WD\ Red\ Pro\ 16TB/Dataset/Dropbox

or as @DjP-iX said

zfs rename WD+Red+Pro+16TB/Dropbox WD+Red+Pro+16TB/Dataset/Dropbox

create the dataset first in the GUI or via CLI and escape the spaces the same way:

zfs create WD+Red+Pro+16TB/Dataset

This is also a very helpful comment, pay attention to that.

Or you rename the pool first