diff --git a/pkg/compute/models/disks.go b/pkg/compute/models/disks.go index ee7475b64c..47e0c7e26a 100644 --- a/pkg/compute/models/disks.go +++ b/pkg/compute/models/disks.go @@ -725,10 +725,13 @@ func (self *SDisk) PerformResize(ctx context.Context, userCred mcclient.TokenCre } guests := self.GetGuests() - if len(guests) != 1 { - return nil, httperrors.NewBadRequestError("Cann't resize disk when attach to mutil guest") + + var guest *SGuest + if len(guests) == 1 { + guest = &guests[0] } - return nil, self.StartDiskResizeTask(ctx, userCred, int64(sizeMb), "", &pendingUsage, &guests[0]) + + return nil, self.StartDiskResizeTask(ctx, userCred, int64(sizeMb), "", &pendingUsage, guest) } func (self *SDisk) GetIStorage() (cloudprovider.ICloudStorage, error) { diff --git a/pkg/compute/tasks/disk_resize_task.go b/pkg/compute/tasks/disk_resize_task.go index cc8113b6c0..f415de1d3b 100644 --- a/pkg/compute/tasks/disk_resize_task.go +++ b/pkg/compute/tasks/disk_resize_task.go @@ -47,7 +47,7 @@ func (self *DiskResizeTask) OnInit(ctx context.Context, obj db.IStandaloneModel, } disk.SetStatus(self.GetUserCred(), models.DISK_START_RESIZE, "") - if masterGuest == nil { + if masterGuest != nil { masterGuest.SetStatus(self.GetUserCred(), models.VM_RESIZE_DISK, "") } self.StartResizeDisk(ctx, host, storage, disk, masterGuest)