diff options
| author | duanhongyi <duanhongyi@doopai.com> | 2024-01-11 14:36:05 +0800 |
|---|---|---|
| committer | Chris Lu <chrislusf@users.noreply.github.com> | 2024-01-11 07:48:44 -0800 |
| commit | 785e69a08ef47eab94742b040870ec0716f20f13 (patch) | |
| tree | c94ea66e80a85b7ea36321f590e7549f5d4a54cf /pkg/driver/nodeserver.go | |
| parent | 9278f2d0ba560b375236c845b9f13124ce281195 (diff) | |
| download | seaweedfs-csi-driver-785e69a08ef47eab94742b040870ec0716f20f13.tar.xz seaweedfs-csi-driver-785e69a08ef47eab94742b040870ec0716f20f13.zip | |
Fix: capacity error in re mounting after expand volume
Diffstat (limited to 'pkg/driver/nodeserver.go')
| -rw-r--r-- | pkg/driver/nodeserver.go | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/pkg/driver/nodeserver.go b/pkg/driver/nodeserver.go index 130c2a5..616c79b 100644 --- a/pkg/driver/nodeserver.go +++ b/pkg/driver/nodeserver.go @@ -7,6 +7,7 @@ import ( "sync" "github.com/container-storage-interface/spec/lib/go/csi" + "github.com/seaweedfs/seaweedfs-csi-driver/pkg/k8s" "github.com/seaweedfs/seaweedfs/weed/glog" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" @@ -79,6 +80,14 @@ func (ns *NodeServer) NodeStageVolume(ctx context.Context, req *csi.NodeStageVol } return nil, status.Error(codes.Internal, err.Error()) } + //k8s api get Capacity + if capacity, err := k8s.GetVolumeCapacity(volumeID); err == nil { + if err := volume.Quota(capacity); err != nil { + return nil, err + } + } else { + return nil, err + } ns.volumes.Store(volumeID, volume) glog.Infof("volume %s successfully staged to %s", volumeID, stagingTargetPath) @@ -259,7 +268,7 @@ func (ns *NodeServer) NodeExpandVolume(ctx context.Context, req *csi.NodeExpandV defer volumeMutex.Unlock() if volume, ok := ns.volumes.Load(volumeID); ok { - if err := volume.(*Volume).Expand(requiredBytes); err != nil { + if err := volume.(*Volume).Quota(requiredBytes); err != nil { return nil, err } } |
