aboutsummaryrefslogtreecommitdiff
path: root/pkg/mountmanager
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/mountmanager')
-rw-r--r--pkg/mountmanager/socket.go13
1 files changed, 6 insertions, 7 deletions
diff --git a/pkg/mountmanager/socket.go b/pkg/mountmanager/socket.go
index f327dcb..95d63c0 100644
--- a/pkg/mountmanager/socket.go
+++ b/pkg/mountmanager/socket.go
@@ -1,10 +1,10 @@
package mountmanager
import (
+ "crypto/sha256"
+ "encoding/hex"
"fmt"
"path/filepath"
-
- "github.com/seaweedfs/seaweedfs/weed/util"
)
// DefaultSocketDir is the default directory for volume sockets.
@@ -12,13 +12,12 @@ const DefaultSocketDir = "/var/lib/seaweedfs-mount"
// LocalSocketPath returns the unix socket path used to communicate with the weed mount process.
// The baseDir parameter should be the directory where sockets are stored (e.g., derived from mountEndpoint).
+// Uses SHA256 hash (first 16 hex chars = 64 bits) to minimize collision risk.
func LocalSocketPath(baseDir, volumeID string) string {
if baseDir == "" {
baseDir = DefaultSocketDir
}
- hash := util.HashToInt32([]byte(volumeID))
- if hash < 0 {
- hash = -hash
- }
- return filepath.Join(baseDir, fmt.Sprintf("seaweedfs-mount-%d.sock", hash))
+ h := sha256.Sum256([]byte(volumeID))
+ hashStr := hex.EncodeToString(h[:8]) // 16 hex chars = 64 bits
+ return filepath.Join(baseDir, fmt.Sprintf("seaweedfs-mount-%s.sock", hashStr))
}