@@ -28,6 +28,13 @@ func (h *Handler) Clone(cmd *cobra.Command, args []string) error {
2828 if err = requireCNIVNCPassword (netMode == netCNI , vnc , vncPass ); err != nil {
2929 return err
3030 }
31+ cpus := srcRec .CPUs
32+ if cmd .Flags ().Changed ("cpus" ) {
33+ cpus , _ = cmd .Flags ().GetInt ("cpus" )
34+ }
35+ if err = validateMacOSCPUs (cpus ); err != nil {
36+ return err
37+ }
3138 // SRC's disk names are reserved: extra --data-disk specs must not collide and the combined count still honors the AHCI cap
3239 reserved := make ([]string , len (srcRec .DataDisks ))
3340 for i , p := range srcRec .DataDisks {
@@ -53,13 +60,10 @@ func (h *Handler) Clone(cmd *cobra.Command, args []string) error {
5360 }
5461 r := & record {
5562 Name : name , Image : srcRec .Image , ImageDigest : digest , Disk : overlay ,
56- OVMFCode : srcRec .OVMFCode , OVMFVars : ovmfVars , CPUs : srcRec . CPUs , Memory : srcRec .Memory ,
63+ OVMFCode : srcRec .OVMFCode , OVMFVars : ovmfVars , CPUs : cpus , Memory : srcRec .Memory ,
5764 DataDisks : append (copied , newDisks ... ),
5865 VMID : utils .GenerateID (), Created : time .Now ().Format (time .RFC3339 ),
5966 }
60- if cmd .Flags ().Changed ("cpus" ) {
61- r .CPUs , _ = cmd .Flags ().GetInt ("cpus" )
62- }
6367 if cmd .Flags ().Changed ("memory" ) {
6468 r .Memory , _ = cmd .Flags ().GetString ("memory" )
6569 }
0 commit comments