aboutsummaryrefslogtreecommitdiff
path: root/pkg/driver/mount_util.go
diff options
context:
space:
mode:
authorchrislusf <chris.lu@gmail.com>2025-12-03 19:36:35 -0800
committerChris Lu <chrislusf@users.noreply.github.com>2025-12-03 20:52:27 -0800
commit05ac88f67723f1a6ce60543413f3ae59d2e85654 (patch)
tree2030b7f8be258b90c07da00cb4a9a1e593abe966 /pkg/driver/mount_util.go
parente76bd693e2022ac71f857548b0919155ebb04ca9 (diff)
downloadseaweedfs-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.go10
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
}
}