vsphere/host_data_store_system_helper.go
func extendVmfsDatastore(ctx context.Context, s *object.HostDatastoreSystem, ds *object.Datastore, spec types.VmfsDatastoreExtendSpec) (*object.Datastore, error) {
	req := types.ExtendVmfsDatastore{
		This:      s.Reference(),
		Datastore: ds.Reference(),
		Spec:      spec,
	}

	res, err := methods.ExtendVmfsDatastore(ctx, s.Client(), &req)
	if err != nil {
		return nil, err
	}

	return object.NewDatastore(s.Client(), res.Returnval), nil
}
func extendVmfsDatastore(ctx context.Context, s *object.HostDatastoreSystem, ds *object.Datastore, spec types.VmfsDatastoreExtendSpec) (*object.Datastore, error) {
	req := types.ExtendVmfsDatastore{
		This:      s.Reference(),
		Datastore: ds.Reference(),
		Spec:      spec,
	}

	res, err := methods.ExtendVmfsDatastore(ctx, s.Client(), &req)
	if err != nil {
		return nil, err
	}

	return object.NewDatastore(s.Client(), res.Returnval), nil
}
// extendVmfsDatastore is a stop-gap method that implements
// ExtendVmfsDatastore. It will be removed once the higher level
// HostDatastoreSystem object supports this method.