Fix the issue where fuse command on a node cannot specify multiple configuration directory paths (#7874)

Changes:
    Modified weed/command/fuse.go to add a function GetFuseCommandName to return the name of the fuse command.
    Modified weed/weed.go to conditionally initialize the global HTTP client only if the command is not "fuse".
    Modified weed/command/fuse_std.go to parse parameters and ensure the global HTTP client is initialized for the fuse command.

Tests:
  Use /etc/fstab like:
  fuse /repos fuse.weed filer=192.168.1.101:7202,filer.path=/hpc/repos,config_dir=/etc/seaweedfs/seaweedfs_01 0 0
  fuse /opt/ohpc/pub fuse.weed filer=192.168.1.102:7202,filer.path=/hpc_cluster/pub,config_dir=/etc/seaweedfs/seaweedfs_02 0 0

Co-authored-by: zhangxl56 <zhangxl56@lenovo.com>
This commit is contained in:
云天飞镜
2025-12-26 03:36:38 +08:00
committed by GitHub
parent e439e33888
commit e8a41ec053
3 changed files with 14 additions and 2 deletions

View File

@@ -85,8 +85,9 @@ func main() {
}
return
}
util_http.InitGlobalHttpClient()
if args[0] != command.GetFuseCommandName() {
util_http.InitGlobalHttpClient()
}
for _, cmd := range commands {
if cmd.Name() == args[0] && cmd.Run != nil {
cmd.Flag.Usage = func() { cmd.Usage() }