code: func (mounter *SafeFormatAndMount) formatAndMount(source string, target string, fstype string, options []string) error {
  	options = append(options, "defaults")
  
  	// Try to mount the disk
  	err := mounter.Interface.Mount(source, target, fstype, options)
  	if err != nil {
  		// It is possible that this disk is not formatted. Double check using diskLooksUnformatted
  		notFormatted, err := mounter.diskLooksUnformatted(source)
  		if err == nil && notFormatted {
  			args := []string{source}
  			// Disk is unformatted so format it.
  			// Use 'ext4' as the default
  			if len(fstype) == 0 {
  				fstype = "ext4"
  			}
  			if fstype == "ext4" || fstype == "ext3" {
  				args = []string{"-E", "lazy_itable_init=0,lazy_journal_init=0", "-F", source}
  			}
  			cmd := mounter.Runner.Command("mkfs."+fstype, args...)
  			_, err := cmd.CombinedOutput()
  			if err == nil {
  				// the disk has been formatted sucessfully try to mount it again.
  				return mounter.Interface.Mount(source, target, fstype, options)
  			}
  			return err
  		}
  	}
  	return err
  }
docs: // formatAndMount uses unix utils to format and mount the given disk