code: func (v *localVolume) Unmount(id string) error {
  	v.m.Lock()
  	defer v.m.Unlock()
  
  	// Always decrement the count, even if the unmount fails
  	// Essentially docker doesn't care if this fails, it will send an error, but
  	// ultimately there's nothing that can be done. If we don't decrement the count
  	// this volume can never be removed until a daemon restart occurs.
  	if v.opts != nil {
  		v.active.count--
  	}
  
  	if v.active.count > 0 {
  		return nil
  	}
  
  	return v.unmount()
  }
docs: // Unmount dereferences the id, and if it is the last reference will unmount any resources
  // that were previously mounted.