From c676adae8b5c1e9dd123f979efc1e075c7d5f94c Mon Sep 17 00:00:00 2001 From: Roman Bednar Date: Thu, 13 Oct 2022 16:06:37 +0200 Subject: [PATCH] resize fs in NodeStageVolume While restoring from a snapshot to larger size PVC the volume needs to be resized. We can use ResizeFs resizer (like extend already uses) in NodeStageVolume to improve user experience and remove manual intervention that is currently required after restoring to larger size. --- pkg/ibmcsidriver/node.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkg/ibmcsidriver/node.go b/pkg/ibmcsidriver/node.go index 3e9dd083..fe69a09c 100644 --- a/pkg/ibmcsidriver/node.go +++ b/pkg/ibmcsidriver/node.go @@ -19,6 +19,8 @@ package ibmcsidriver import ( "fmt" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" "os" "path/filepath" "runtime" @@ -307,6 +309,10 @@ func (csiNS *CSINodeServer) NodeStageVolume(ctx context.Context, req *csi.NodeSt return nil, commonError.GetCSIError(ctxLogger, commonError.FormatAndMountFailed, requestID, err, source, stagingTargetPath) } + if _, err := mountmgr.Resize(csiNS.Mounter, devicePath, stagingTargetPath); err != nil { + return nil, commonError.GetCSIError(ctxLogger, commonError.FileSystemResizeFailed, requestID, err) + } + nodeStageVolumeResponse := &csi.NodeStageVolumeResponse{} return nodeStageVolumeResponse, err }