ZFS zfs inherit mountpoint after zfs rename not working

Dear Community!

Can anybody see what I'm doing wrong?

I have migrated some zfs filesystems, that I know need to reorganize. Therefore I created new parent-filesystems and renamed the old subfilesystems into that.
That worked for several filesystems (tank/old/accounts > tank/users, tank/old/pkgs > tank/packages, ...) - until the one that makes troubles now:

Code:
$ sudo zfs create tank/services
$ sudo zfs set canmount=off
$ sudo zfs rename tank/old/hosts/fs1 tank/services/fs1
$ sudo zfs inherit mountpoint tank/services/fs1
$ zfs list -r tank/old/hosts tank/services
NAME               MOUNTPOINT
tank/old/hosts     /tank/hosts
tank/services      /tank/services
tank/services/fs1  /tank/hosts/fs1

When I try to inherit the mountpoint for tank/services/fs1 it always sets the mountpoint to the old value (/tank/hosts/fs1).
 
Ok, I’m bumping this old thread because google is throwing people at it. I have been struggling with this same problem and have discovered a few insights, but I don’t have a solution yet.

First off, zfs properties can come from a variety of sources. I believe that if the OP of this thread were to do `zfs get mountpoint -o all tank/services/fs1’ that the source column would indicate “RECEIVED” which means that the mountpoint property has been set by the send/receive operation.

The next bit of relevant information is that `zfs inherit’ doesn’t inherit anything. `zfs inherit’ is really an unset or clear operation. It removes the property. When a dataset does not have a value for a property it usually gets the value it will use from the parent dataset. Unfortunately, in our case, if a dataset has a value for a property which is stored as part of the send/receive operation, it gets that value instead. This is where I don’t understand yet what is going on or what is supposed to happen.

If I could change and clear the received value for that property then I could probably solve my problem. The man page claims that `zfs inherit -S’ is supposed to use the received value for the property, which leaves you with the assumption that `zfs inherit’ would use the value from the parent dataset, but it does not seem to work for me. Is this a bug? My system is running FreeBSD 11.1

Right now the only option seems to be to set all the properties by hand.
 
Back
Top