code: func (c *BlobDiskController) DeleteBlobDisk(diskURI string) error {
  	storageAccountName, vhdName, err := diskNameandSANameFromURI(diskURI)
  	if err != nil {
  		return err
  	}
  
  	_, ok := c.accounts[storageAccountName]
  	if !ok {
  		// the storage account is specified by user
  		klog.V(4).Infof("azureDisk - deleting volume %s", diskURI)
  		return c.DeleteVolume(diskURI)
  	}
  
  	blobSvc, err := c.getBlobSvcClient(storageAccountName)
  	if err != nil {
  		return err
  	}
  
  	klog.V(4).Infof("azureDisk - About to delete vhd file %s on storage account %s container %s", vhdName, storageAccountName, vhdContainerName)
  
  	container := blobSvc.GetContainerReference(vhdContainerName)
  	blob := container.GetBlobReference(vhdName)
  	_, err = blob.DeleteIfExists(nil)
  
  	if c.accounts[storageAccountName].diskCount == -1 {
  		if diskCount, err := c.getDiskCount(storageAccountName); err != nil {
  			c.accounts[storageAccountName].diskCount = int32(diskCount)
  		} else {
  			klog.Warningf("azureDisk - failed to get disk count for %s however the delete disk operation was ok", storageAccountName)
  			return nil // we have failed to acquire a new count. not an error condition
  		}
  	}
  	atomic.AddInt32(&c.accounts[storageAccountName].diskCount, -1)
  	return err
  }
docs: //DeleteBlobDisk : delete a blob disk from a node