main #1
@@ -214,11 +214,19 @@ func (s *Service) CreatePool(name string, vdevs []string, options map[string]str
|
||||
}
|
||||
}
|
||||
|
||||
// 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
|
||||
|
||||
Reference in New Issue
Block a user