github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/lib/fsutil/loopback.go (about)

     1  package fsutil
     2  
     3  import (
     4  	"fmt"
     5  	"os/exec"
     6  	"strings"
     7  )
     8  
     9  func loopbackDelete(loopDevice string) error {
    10  	return exec.Command("losetup", "-d", loopDevice).Run()
    11  }
    12  
    13  func loopbackSetup(filename string) (string, error) {
    14  	cmd := exec.Command("losetup", "-fP", "--show", filename)
    15  	output, err := cmd.CombinedOutput()
    16  	if err != nil {
    17  		return "", fmt.Errorf("%s: %s", err, output)
    18  	}
    19  	return strings.TrimSpace(string(output)), nil
    20  }