code: func (gce *Cloud) getDiskByNameUnknownZone(diskName string) (*gceDisk, error) {
  	// Note: this is the gotcha right now with GCE PD support:
  	// disk names are not unique per-region.
  	// (I can create two volumes with name "myvol" in e.g. us-central1-b & us-central1-f)
  	// For now, this is simply undefined behaviour.
  	//
  	// In future, we will have to require users to qualify their disk
  	// "us-central1-a/mydisk".  We could do this for them as part of
  	// admission control, but that might be a little weird (values changing
  	// on create)
  
  	var found *gceDisk
  	for _, zone := range gce.managedZones {
  		disk, err := gce.findDiskByName(diskName, zone)
  		if err != nil {
  			return nil, err
  		}
  		// findDiskByName returns (nil,nil) if the disk doesn't exist, so we can't
  		// assume that a disk was found unless disk is non-nil.
  		if disk == nil {
  			continue
  		}
  		if found != nil {
  			return nil, fmt.Errorf("GCE persistent disk name was found in multiple zones: %q", diskName)
  		}
  		found = disk
  	}
  	if found != nil {
  		return found, nil
  	}
  	glog.Warningf("GCE persistent disk %q not found in managed zones (%s)", diskName, strings.Join(gce.managedZones, ","))
  	return nil, cloudprovider.ErrDiskNotFound
  }
docs: // Scans all managed zones to return the GCE PD
  // Prefer getDiskByName, if the zone can be established
  // Return cloudprovider.ErrDiskNotFound if the given disk cannot be found in any zone