瀏覽代碼

Added bash pipe

Toby Chui 1 年之前
父節點
當前提交
44de83b750
共有 1 個文件被更改,包括 2 次插入7 次删除
  1. 2 7
      mod/disk/raid/mdadm.go

+ 2 - 7
mod/disk/raid/mdadm.go

@@ -110,17 +110,12 @@ func (m *Manager) CreateRAIDDevice(devName string, raidLevel int, raidDeviceIds
 	allDeviceIds := append(raidDeviceIds, spareDeviceIds...)
 	allDeviceIds := append(raidDeviceIds, spareDeviceIds...)
 
 
 	// Build the mdadm command
 	// Build the mdadm command
-	cmdArgs := []string{"mdadm", "--create", "--yes", devName, fmt.Sprintf("--level=%d", raidLevel),
-		fmt.Sprintf("--raid-devices=%d", raidDev), fmt.Sprintf("--spare-devices=%d", spareDevice)}
-	cmdArgs = append(cmdArgs, allDeviceIds...)
-
-	cmd := exec.Command("sudo", cmdArgs...)
+	cmd := exec.Command("bash", "-c", fmt.Sprintf("yes | sudo mdadm --create %s --level=%d --raid-devices=%d --spare-devices=%d %s",
+		devName, raidLevel, raidDev, spareDevice, strings.Join(allDeviceIds, " ")))
 
 
 	cmd.Stdout = os.Stdout
 	cmd.Stdout = os.Stdout
 	cmd.Stderr = os.Stderr
 	cmd.Stderr = os.Stderr
 
 
-	//TODO: REMOVE AFTER DEBUG
-	fmt.Println(cmdArgs)
 	err := cmd.Run()
 	err := cmd.Run()
 	if err != nil {
 	if err != nil {
 		return fmt.Errorf("error running mdadm command: %v", err)
 		return fmt.Errorf("error running mdadm command: %v", err)