Bugzilla – Bug 1472
libbe: creating a new BE from a mounted BE gets the mountpoints for subordinate datasets wrong
Last modified: 2008-11-24 13:00:15 UTC
You need to log in before you can comment on or make changes to this bug.
If a mounted BE is the source for creating a new BE, the mountpoints for the subordinate datasets in the new BE end up getting set incorrectly if they are locally set (i.e. not inherited). equach@opensolaris:/# equach@opensolaris:/# zfs list -r rpool/ROOT/be1 NAME USED AVAIL REFER MOUNTPOINT rpool/ROOT/be1 970K 31.0G 2.23G legacy rpool/ROOT/be1/opt 0 31.0G 3.60M /opt equach@opensolaris:/# equach@opensolaris:/# beadm mount be1 /mnt equach@opensolaris:/# equach@opensolaris:/# zfs list -r rpool/ROOT/be1 NAME USED AVAIL REFER MOUNTPOINT rpool/ROOT/be1 970K 31.0G 2.23G /mnt rpool/ROOT/be1/opt 0 31.0G 3.60M /mnt/opt equach@opensolaris:/# equach@opensolaris:/# equach@opensolaris:/# beadm create -e be1 be2 equach@opensolaris:/# equach@opensolaris:/# zfs list -r rpool/ROOT/be2 NAME USED AVAIL REFER MOUNTPOINT rpool/ROOT/be2 73.5K 31.0G 2.23G legacy rpool/ROOT/be2/opt 0 31.0G 3.60M /mnt/opt equach@opensolaris:/# The mountpoint for rpool/ROOT/be2/opt should be /opt
During creation of the BE, libbe needs to detect if the source BE is currently mounted. If so, it needs remove the BE altroot from the mountpoint of the cloned datasets for datasets that have locally set mountpoints.
Fixed in changeset f129fc0b1891