From 27378f2c85af4c3a4099a14c0cac429e6bfb8464 Mon Sep 17 00:00:00 2001 From: rainzm Date: Wed, 18 Nov 2020 18:25:23 +0800 Subject: [PATCH] fix(hostdeployer): umount rootfs before resize partition --- .../hostdeployer/deployserver/deployserver.go | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/pkg/hostman/hostdeployer/deployserver/deployserver.go b/pkg/hostman/hostdeployer/deployserver/deployserver.go index ce3239527e..4d4952755f 100644 --- a/pkg/hostman/hostdeployer/deployserver/deployserver.go +++ b/pkg/hostman/hostdeployer/deployserver/deployserver.go @@ -120,18 +120,14 @@ func (*DeployerServer) ResizeFs(ctx context.Context, req *deployapi.ResizeFsPara } root := disk.MountRootfs() - defer disk.UmountRootfs(root) - if root == nil { - err := disk.ResizePartition() - return new(deployapi.Empty), err - } else { - if !root.IsResizeFsPartitionSupport() { - return new(deployapi.Empty), errors.ErrNotSupported - } else { - err := disk.ResizePartition() - return new(deployapi.Empty), err - } + if root != nil && !root.IsResizeFsPartitionSupport() { + return new(deployapi.Empty), errors.ErrNotSupported } + + // must umount rootfs before resize partition + disk.UmountRootfs(root) + err = disk.ResizePartition() + return new(deployapi.Empty), err } func (*DeployerServer) FormatFs(ctx context.Context, req *deployapi.FormatFsParams) (*deployapi.Empty, error) {