diff options
| author | chrislusf <chris.lu@gmail.com> | 2025-12-03 19:36:35 -0800 |
|---|---|---|
| committer | Chris Lu <chrislusf@users.noreply.github.com> | 2025-12-03 20:52:27 -0800 |
| commit | 05ac88f67723f1a6ce60543413f3ae59d2e85654 (patch) | |
| tree | 2030b7f8be258b90c07da00cb4a9a1e593abe966 /pkg/driver/mount_util.go | |
| parent | e76bd693e2022ac71f857548b0919155ebb04ca9 (diff) | |
| download | seaweedfs-csi-driver-05ac88f67723f1a6ce60543413f3ae59d2e85654.tar.xz seaweedfs-csi-driver-05ac88f67723f1a6ce60543413f3ae59d2e85654.zip | |
refactor: address code review feedback
- Handle unexpected stat errors in cleanupStaleStagingPath (high priority)
- Extract staging logic into stageNewVolume helper method for reuse
- Extract isReadOnlyAccessMode helper to avoid duplicated read-only checks
- Remove redundant mountutil.Unmount call (CleanupMountPoint already handles it)
Diffstat (limited to 'pkg/driver/mount_util.go')
| -rw-r--r-- | pkg/driver/mount_util.go | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/pkg/driver/mount_util.go b/pkg/driver/mount_util.go index 049d4dc..200817d 100644 --- a/pkg/driver/mount_util.go +++ b/pkg/driver/mount_util.go @@ -83,10 +83,14 @@ func cleanupStaleStagingPath(stagingPath string) error { // If stat fails with a different error (like corrupted mount), try force cleanup if mount.IsCorruptedMnt(err) { // Force unmount for corrupted mounts - if err := mount.CleanupMountPoint(stagingPath, mountutil, true); err != nil { - glog.Warningf("failed to cleanup corrupted mount point %s: %v", stagingPath, err) - return err + if cleanupErr := mount.CleanupMountPoint(stagingPath, mountutil, true); cleanupErr != nil { + glog.Warningf("failed to cleanup corrupted mount point %s: %v", stagingPath, cleanupErr) + return cleanupErr } + } else { + // stat failed with an unexpected error, return it + glog.Warningf("stat on staging path %s failed during cleanup: %v", stagingPath, err) + return err } } |
