code: func (dc *DriverCall) Run() (*DriverStatus, error) {
  	if dc.plugin.isUnsupported(dc.Command) {
  		return nil, errors.New(StatusNotSupported)
  	}
  	execPath := dc.plugin.getExecutable()
  
  	cmd := dc.plugin.runner.Command(execPath, dc.args...)
  
  	timeout := false
  	if dc.Timeout > 0 {
  		timer := time.AfterFunc(dc.Timeout, func() {
  			timeout = true
  			cmd.Stop()
  		})
  		defer timer.Stop()
  	}
  
  	output, execErr := cmd.CombinedOutput()
  	if execErr != nil {
  		if timeout {
  			return nil, errTimeout
  		}
  		_, err := handleCmdResponse(dc.Command, output)
  		if err == nil {
  			klog.Errorf("FlexVolume: driver bug: %s: exec error (%s) but no error in response.", execPath, execErr)
  			return nil, execErr
  		}
  		if isCmdNotSupportedErr(err) {
  			dc.plugin.unsupported(dc.Command)
  		} else {
  			klog.Warningf("FlexVolume: driver call failed: executable: %s, args: %s, error: %s, output: %q", execPath, dc.args, execErr.Error(), output)
  		}
  		return nil, err
  	}
  
  	status, err := handleCmdResponse(dc.Command, output)
  	if err != nil {
  		if isCmdNotSupportedErr(err) {
  			dc.plugin.unsupported(dc.Command)
  		}
  		return nil, err
  	}
  
  	return status, nil
  }
docs: // Run executes the driver call