aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2025-12-05fix: use kubeMounter instead of mountutil in manager.goorigin/pr/205chrislusf1-2/+2
2025-12-05feat: add log泽淼 周1-15/+4
2025-12-05fix: Zombie process泽淼 周1-4/+6
2025-12-05add: merge prepare params.泽淼 周9-40/+158
2025-12-05add helm file泽淼 周1-0/+78
2025-12-05Optimization: Reduce unnecessary logic of seaweedfs-mount泽淼 周7-271/+168
2025-12-05fix: seaweedfs-csi.yaml volumes config泽淼 周2-16/+34
2025-12-05fix: build error泽淼 周1-1/+0
2025-12-05fix: build error泽淼 周1-1/+1
2025-12-05adjust: Dockerfile泽淼 周1-2/+2
2025-12-05feat: helm config泽淼 周3-1/+45
2025-12-05fix: seaweefs-mount image泽淼 周1-1/+1
2025-12-05feat: seaweedfs-mount daemonset泽淼 周1-0/+57
2025-12-05feat: Separated weed mount lifecycle into a dedicated service and rewired ↵泽淼 周14-319/+951
the CSI components to call it.
2025-12-03fix: use RemoveAll for more robust staging path cleanupv1.3.5chrislusf1-1/+2
Address gemini-code-assist review - use os.RemoveAll instead of os.Remove to handle cases where the directory is not empty after an imperfect unmount. This ensures complete cleanup of stale staging paths.
2025-12-03fix: cleanup volume mutex on self-healing failure in NodePublishVolumechrislusf1-0/+2
Address gemini-code-assist review - when cleanup or re-staging fails during self-healing in NodePublishVolume, remove the volume mutex to avoid leaving stale entries. This maintains consistency with NodeStageVolume's error handling behavior.
2025-12-03fix: cleanup staged mount on quota application failurechrislusf1-0/+4
Address CodeRabbit review - if volume.Stage() succeeds but volume.Quota() fails, clean up the staged mount before returning the error to avoid leaving an orphaned FUSE process.
2025-12-03fix: propagate errors instead of just logging warningschrislusf2-3/+6
Address gemini-code-assist review feedback: 1. Return error from volume.Quota() failure in stageNewVolume - quota failures should fail the staging operation 2. Return error from cleanupStaleStagingPath() in NodeStageVolume - fail fast if cleanup fails rather than attempting to stage anyway 3. Return error from cleanupStaleStagingPath() in NodePublishVolume - same fail-fast behavior for consistency 4. Return error from mount.CleanupMountPoint() in Volume.Unstage() - propagate cleanup errors to caller as expected
2025-12-03fix: preserve healthy mounts in NodeStageVolume instead of re-stagingchrislusf1-13/+13
Address CodeRabbit review - when a healthy staging path exists after driver restart, rebuild the cache using rebuildVolumeFromStaging() instead of cleaning up and re-staging. This: - Maintains consistency with NodePublishVolume behavior - Avoids disrupting existing published volumes that are bind-mounted - Makes NodeStageVolume idempotent as per CSI spec
2025-12-03fix: add nil checks for AccessMode to prevent panicchrislusf1-2/+10
Address CodeRabbit review feedback - add defensive nil checks for GetVolumeCapability() and GetAccessMode() in both isPublishVolumeReadOnly and isVolumeReadOnly to prevent potential nil pointer dereference.
2025-12-03refactor: address code review feedbackchrislusf3-59/+43
- 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)
2025-12-03fix: add self-healing for volume mount failures after driver restartchrislusf3-7/+205
This addresses issue #203 - CSI Driver Self-Healing for Volume Mount Failures. Problem: When the CSI node driver restarts, the in-memory volume cache is lost. Kubelet then directly calls NodePublishVolume (skipping NodeStageVolume), which fails with 'volume hasn't been staged yet' error. Solution: 1. Added isStagingPathHealthy() to detect healthy vs stale/corrupted mounts 2. Added cleanupStaleStagingPath() to clean up stale mount points 3. Enhanced NodeStageVolume to clean up stale mounts before staging 4. Implemented self-healing in NodePublishVolume: - If staging path is healthy: rebuild volume cache from existing mount - If staging path is stale: clean up and re-stage automatically 5. Updated Volume.Unstage to handle rebuilt volumes without unmounter Benefits: - Automatic recovery after CSI driver restarts - No manual intervention required (no kubelet/pod restarts needed) - Handles both live and dead FUSE mount scenarios - Backward compatible with normal operations Fixes #203
2025-11-28Resolve merge conflicts in go.mod and go.sumv1.3.4Chris Lu3-7/+7
2025-11-28disk full when buildingChris Lu3-68/+76
2025-11-02sync with seaweedfs 4.00v1.3.3chrislusf2-9/+9
2025-10-25README orfo fixvalodzka1-1/+1
2025-10-23fix error messagev1.3.2chrislusf1-2/+2
2025-10-23fix buildchrislusf2-2/+2
2025-10-23Fix filer_pb API signatures to include context parameterchrislusf1-3/+3
The filer_pb.Mkdir, filer_pb.Remove, and filer_pb.Exists functions now require context.Context as the first parameter. This commit updates all three function calls in controllerserver.go to match the updated API. Fixes #206
2025-10-22sync with SeaweedFS 3.98v1.3.1Chris Lu2-92/+100
2025-08-22Bump github.com/go-viper/mapstructure/v2 from 2.3.0 to 2.4.0dependabot[bot]2-3/+3
Bumps [github.com/go-viper/mapstructure/v2](https://github.com/go-viper/mapstructure) from 2.3.0 to 2.4.0. - [Release notes](https://github.com/go-viper/mapstructure/releases) - [Changelog](https://github.com/go-viper/mapstructure/blob/main/CHANGELOG.md) - [Commits](https://github.com/go-viper/mapstructure/compare/v2.3.0...v2.4.0) --- updated-dependencies: - dependency-name: github.com/go-viper/mapstructure/v2 dependency-version: 2.4.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
2025-07-20sync with seaweedfs 3.95v1.3.0chrislusf2-59/+59
2025-06-27Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0dependabot[bot]2-3/+3
Bumps [github.com/go-viper/mapstructure/v2](https://github.com/go-viper/mapstructure) from 2.2.1 to 2.3.0. - [Release notes](https://github.com/go-viper/mapstructure/releases) - [Changelog](https://github.com/go-viper/mapstructure/blob/main/CHANGELOG.md) - [Commits](https://github.com/go-viper/mapstructure/compare/v2.2.1...v2.3.0) --- updated-dependencies: - dependency-name: github.com/go-viper/mapstructure/v2 dependency-version: 2.3.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
2025-06-22sync with 3.92v1.2.9chrislusf2-17/+17
2025-06-20Update Chart.yamlChris Lu1-1/+1
2025-06-15go mod tidy1.2.9chrislusf2-81/+52
2025-06-15sync with 3.91 seaweedfschrislusf2-36/+62
2025-05-16helm: add storageClassVolumeBindingMode default value to the values.yaml for ↵Oleksandr Valuiev1-0/+1
the better visibility
2025-05-15make volumeBindingMode an option for the StorageClassOleksandr Valuiev1-0/+1
2025-05-04Add a few more comments to deploy/nomad/example-seaweedfs-volume.hclAaron Madsen1-0/+8
2025-05-04Use only lowercase letters in the volume ID to avoid case matching issuesAaron Madsen1-0/+2
2025-05-04Make sure the volume ID is a valid bucket nameAaron Madsen3-6/+41
2025-04-20Bump golang.org/x/net from 0.36.0 to 0.38.0dependabot[bot]2-15/+15
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.36.0 to 0.38.0. - [Commits](https://github.com/golang/net/compare/v0.36.0...v0.38.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-version: 0.38.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
2025-03-21Bump github.com/golang-jwt/jwt/v5 from 5.2.1 to 5.2.2dependabot[bot]2-3/+3
Bumps [github.com/golang-jwt/jwt/v5](https://github.com/golang-jwt/jwt) from 5.2.1 to 5.2.2. - [Release notes](https://github.com/golang-jwt/jwt/releases) - [Changelog](https://github.com/golang-jwt/jwt/blob/main/VERSION_HISTORY.md) - [Commits](https://github.com/golang-jwt/jwt/compare/v5.2.1...v5.2.2) --- updated-dependencies: - dependency-name: github.com/golang-jwt/jwt/v5 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
2025-03-12Bump golang.org/x/net from 0.34.0 to 0.36.0dependabot[bot]2-15/+15
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.34.0 to 0.36.0. - [Commits](https://github.com/golang/net/compare/v0.34.0...v0.36.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
2025-02-04go mod tidychrislu2-6/+3
fix https://github.com/seaweedfs/seaweedfs-csi-driver/issues/187
2025-02-04use golang:1.23 imagechrislu2-2/+2
2025-01-06sync with 3.81v1.2.8chrislu2-101/+112
2024-12-15fix k8s deploy argsliguowei1-2/+2
2024-12-03Fix plugin disable command to use dynamic variablesAli Afsharzadeh1-1/+1