diff options
| author | Viktor Kuzmin <kvaster@gmail.com> | 2023-08-06 23:23:54 +0300 |
|---|---|---|
| committer | Chris Lu <chrislusf@users.noreply.github.com> | 2023-08-07 10:22:05 -0700 |
| commit | 251eb9b4b8dc52ca55f3903b64f4f7027343fd5b (patch) | |
| tree | eb92e65f3dcea999d094bf5e446d57d0d407ec30 /pkg/driver/nodeserver.go | |
| parent | d84db4bbebec5d8c0d0e20dbf9deffdd24ba1151 (diff) | |
| download | seaweedfs-csi-driver-251eb9b4b8dc52ca55f3903b64f4f7027343fd5b.tar.xz seaweedfs-csi-driver-251eb9b4b8dc52ca55f3903b64f4f7027343fd5b.zip | |
Graceful stop with mounts cleanup
Diffstat (limited to 'pkg/driver/nodeserver.go')
| -rw-r--r-- | pkg/driver/nodeserver.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/pkg/driver/nodeserver.go b/pkg/driver/nodeserver.go index 56d02c6..f92769d 100644 --- a/pkg/driver/nodeserver.go +++ b/pkg/driver/nodeserver.go @@ -265,6 +265,20 @@ func (ns *NodeServer) NodeExpandVolume(ctx context.Context, req *csi.NodeExpandV return &csi.NodeExpandVolumeResponse{}, nil } +func (ns *NodeServer) NodeCleanup() { + ns.volumes.Range(func(_, vol any) bool { + v := vol.(*Volume) + if len(v.StagedPath) > 0 { + glog.Infof("cleaning up volume %s at %s", v.VolumeId, v.StagedPath) + err := v.Unstage(v.StagedPath) + if err != nil { + glog.Warningf("error cleaning up volume %s at %s, err: %v", v.VolumeId, v.StagedPath, err) + } + } + return true + }) +} + func (ns *NodeServer) getVolumeMutex(volumeID string) *sync.Mutex { return ns.volumeMutexes.GetMutex(volumeID) } |
