Skip to content

Conversation

@sambuc
Copy link

@sambuc sambuc commented Dec 17, 2025

No description provided.

kanya-approve and others added 3 commits November 26, 2025 11:09
* Ensure the mutex is not copied, even when the nodeServer is copied by
  storing a pointer to the mutex, instead of the mutex itself.

* Use Mutex instead of RWMutex, as having two readers of the variable at
  the same time means we are going to write the state at the same time,
  corrupting the state file on storage.

* Mutex / RWMutex are not recursive / re-entrant in Go, so in two cases
  we do not call `Unlock()` through `defer` as `persistState()` also
  takes the lock.

* As a rule of thumb, Locking a Mutex should be as close as possible to
  the resource requiring it, to minimize the size of the critical
  section / the time spent holding the lock.

* Remount each volume in a goroutine, with a rate limits of the number
  of active routine to prevent contention, and keep under control
  startup times.
* Refactor & cleanups (#78)
* Propagate context more thoroughly (#79)
* Tests after introduction of DriverConfig (#80)
* The error handling was creating issues ignored previously (#81)
* Use node tmp folder for the mounts recovery state (#82)
* Wait for the deamon to be ready (#83)
* Fix empty json body & memory units in yaml (#85)

---------

Co-authored-by: Tasko Olevski <[email protected]>
@sambuc sambuc force-pushed the build/csi-rclone-improvements-2 branch from 43c9cca to 26767ca Compare December 17, 2025 13:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants