Request: Move data from top level of pool to a dataset on the pool

Hello,

This has me a bit stumped as I think I am unable to entirely form the correct question to search.

Problem

/mnt/MyPool

  • (all my data)

Would like to move data in top level of the pool to a dataset
/mnt/MyPool/MyData

Most search results are moving between pools, using mv cli command, and onto other servers.

Thanks in advance.

The dataset that has the same name as the pool is special, which is why best practice is to not put anything directly in it, but in child datasets.

As far as I know there is no zfs command to directly migrate data from this top level dataset into a child.

Do you have any other child datasets (e.g. MyPool/MoreData )? If not, then you should be able to zfs send and zfs recv into a dataset created by the recv under the MyPool dataset.

Thanks for your reply.

My plan is to add more datasets

/mnt/MyPool

-MyData
-MyMusic
-MyETC

I will look at zfs send.

Why can you not use the standard linux mv command at the shell to move the data between folders / datasets

I think I have unmasked a problem with permissions.

I have the permission to read/write/exe at the level of mnt/MyPool

When I try to use mv to /mnt/MyPool/MyData mv: can not start.

When I use explorer to navigate to the MyData folder (from /mnt/MyPool/MyData) “you do not have permission to access”.

I will first sort out permission the revisit mv.

Thanks.