main #1

Closed
othman.suseno wants to merge 25 commits from main into development
Showing only changes of commit e36c855bf4 - Show all commits

View File

@@ -213,12 +213,20 @@ func (s *Service) CreatePool(name string, vdevs []string, options map[string]str
log.Printf("warning: failed to pre-create mountpoint %s: %v (continuing anyway)", mountpoint, err)
}
}
// handle canmount as DATASET property not the vdev property
canmount := "noauto"
if v, ok := options["canmount"]; ok && v != "" {
canmount = v
}
delete(options, "canmount")
// Set canmount=noauto to prevent automatic mounting during creation
// This allows pool creation to succeed even if mountpoint can't be created
if _, hasCanmount := options["canmount"]; !hasCanmount {
options["canmount"] = "noauto"
}
// if _, hasCanmount := options["canmount"]; !hasCanmount {
// options["canmount"] = "noauto"
// }
// IMPORTANT: Don't set mountpoint during pool creation
// ZFS tries to mount immediately during creation, which can fail
@@ -231,6 +239,8 @@ func (s *Service) CreatePool(name string, vdevs []string, options map[string]str
args = append(args, "-o", fmt.Sprintf("%s=%s", k, v))
}
args = append(args, "-O", fmt.Sprintf("canmount=%s", canmount))
args = append(args, name)
// Normalize vdev paths - ensure they start with /dev/ if they don't already