diff --git a/pkg/zfs/zfs_util.go b/pkg/zfs/zfs_util.go index d6b77388..bcae0207 100644 --- a/pkg/zfs/zfs_util.go +++ b/pkg/zfs/zfs_util.go @@ -361,6 +361,16 @@ func CreateClone(vol *apis.ZFSVolume) error { logrus.Infof("using existing clone volume %v", volume) } + if vol.Spec.FsType == "xfs" { + // for mounting the cloned volume for xfs, a new UUID has to be generated + device := ZFS_DEVPATH + volume + cmd := exec.Command("xfs_admin", "-U", "generate", device) + out, err := cmd.CombinedOutput() + if err != nil { + logrus.Errorf("zfspv: Clone XFS uuid generate failed error: %s", string(out)) + return err + } + } return nil }