Skip to content

Commit 54bcdbe

Browse files
author
你çšLink
committed
Rollback mergerfs
1 parent e2b3926 commit 54bcdbe

File tree

3 files changed

+60
-50
lines changed

3 files changed

+60
-50
lines changed

main.go

+20-18
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import (
2424
"github.com/IceWhaleTech/CasaOS-LocalStorage/pkg/cache"
2525
"github.com/IceWhaleTech/CasaOS-LocalStorage/pkg/config"
2626
"github.com/IceWhaleTech/CasaOS-LocalStorage/pkg/sqlite"
27+
"github.com/IceWhaleTech/CasaOS-LocalStorage/pkg/utils/merge"
2728
"github.com/IceWhaleTech/CasaOS-LocalStorage/route"
2829
"github.com/IceWhaleTech/CasaOS-LocalStorage/service"
2930
"github.com/coreos/go-systemd/daemon"
@@ -81,29 +82,30 @@ func init() {
8182
if initFlag != nil && *initFlag {
8283
service.MyService.Disk().CheckSerialDiskMount()
8384
os.Exit(0)
85+
return
86+
}
87+
if strings.ToLower(config.ServerInfo.EnableMergerFS) == "true" {
88+
if !merge.IsMergerFSInstalled() {
89+
config.ServerInfo.EnableMergerFS = "false"
90+
logger.Info("mergerfs is disabled")
91+
}
92+
}
93+
94+
if strings.ToLower(config.ServerInfo.EnableMergerFS) == "true" {
95+
if !service.MyService.Disk().EnsureDefaultMergePoint() {
96+
config.ServerInfo.EnableMergerFS = "false"
97+
logger.Info("mergerfs is disabled")
98+
}
8499
}
85100

86-
// if strings.ToLower(config.ServerInfo.EnableMergerFS) == "true" {
87-
// if !merge.IsMergerFSInstalled() {
88-
// config.ServerInfo.EnableMergerFS = "false"
89-
// logger.Info("mergerfs is disabled")
90-
// }
91-
// }
92-
service.MyService.Disk().EnsureDefaultMergePoint()
93-
// if strings.ToLower(config.ServerInfo.EnableMergerFS) == "true" {
94-
// if !service.MyService.Disk().EnsureDefaultMergePoint() {
95-
// config.ServerInfo.EnableMergerFS = "false"
96-
// logger.Info("mergerfs is disabled")
97-
// }
98-
// }
99-
100-
// if strings.ToLower(config.ServerInfo.EnableMergerFS) == "true" {
101-
// go service.MyService.LocalStorage().CheckMergeMount()
102-
// }
101+
if strings.ToLower(config.ServerInfo.EnableMergerFS) == "true" {
102+
service.MyService.LocalStorage().CheckMergeMount()
103+
}
103104

104105
checkToken2_11()
106+
ensureDefaultDirectories()
107+
//service.MyService.Disk().EnsureDefaultMergePoint()
105108

106-
go ensureDefaultDirectories()
107109
// service.MountLists = make(map[string]*mountlib.MountPoint)
108110
// configfile.Install()
109111
// service.MyService.Storage().CheckAndMountAll()

service/disk.go

+39-31
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import (
2121
"github.com/IceWhaleTech/CasaOS-Common/utils/constants"
2222
"github.com/IceWhaleTech/CasaOS-Common/utils/file"
2323
"github.com/IceWhaleTech/CasaOS-Common/utils/logger"
24-
"github.com/IceWhaleTech/CasaOS-LocalStorage/codegen"
2524

2625
"github.com/IceWhaleTech/CasaOS-LocalStorage/codegen/message_bus"
2726
"github.com/IceWhaleTech/CasaOS-LocalStorage/common"
@@ -31,11 +30,10 @@ import (
3130
"github.com/IceWhaleTech/CasaOS-LocalStorage/pkg/mount"
3231
"github.com/IceWhaleTech/CasaOS-LocalStorage/pkg/partition"
3332
"github.com/IceWhaleTech/CasaOS-LocalStorage/pkg/utils/command"
34-
33+
v2 "github.com/IceWhaleTech/CasaOS-LocalStorage/service/v2"
3534
"github.com/moby/sys/mountinfo"
3635

3736
model2 "github.com/IceWhaleTech/CasaOS-LocalStorage/service/model"
38-
v2 "github.com/IceWhaleTech/CasaOS-LocalStorage/service/v2"
3937
"github.com/IceWhaleTech/CasaOS-LocalStorage/service/v2/fs"
4038
"go.uber.org/zap"
4139
"gorm.io/gorm"
@@ -103,34 +101,44 @@ func (d *diskService) EnsureDefaultMergePoint() bool {
103101
MountPoint: mountPoint,
104102
SourceBasePath: &sourceBasePath,
105103
}
106-
107-
mounts, err := MyService.LocalStorage().GetMounts(codegen.GetMountsParams{})
108-
if err != nil {
109-
logger.Error("failed to get mount list from system", zap.Error(err))
110-
return false
111-
}
112-
isExist := false
113-
for _, v := range mounts {
114-
if v.MountPoint == mountPoint {
115-
config.ServerInfo.EnableMergerFS = "true"
116-
isExist = true
117-
merge.SourceBasePath = v.Source
118-
break
119-
}
120-
}
121-
122-
if !isExist {
123-
if err := MyService.LocalStorage().CreateMerge(merge); err != nil {
124-
if errors.Is(err, v2.ErrMergeMountPointAlreadyExists) {
125-
logger.Info(err.Error(), zap.String("mount point", mountPoint))
126-
} else if errors.Is(err, v2.ErrMountPointIsNotEmpty) {
127-
logger.Error("Mount point "+mountPoint+" is not empty", zap.String("mount point", mountPoint))
128-
return false
129-
} else {
130-
panic(err)
131-
}
132-
}
133-
}
104+
if err := MyService.LocalStorage().CreateMerge(merge); err != nil {
105+
if errors.Is(err, v2.ErrMergeMountPointAlreadyExists) {
106+
logger.Info(err.Error(), zap.String("mount point", mountPoint))
107+
} else if errors.Is(err, v2.ErrMountPointIsNotEmpty) {
108+
logger.Error("Mount point "+mountPoint+" is not empty", zap.String("mount point", mountPoint))
109+
return false
110+
} else {
111+
panic(err)
112+
}
113+
}
114+
115+
// mounts, err := MyService.LocalStorage().GetMounts(codegen.GetMountsParams{})
116+
// if err != nil {
117+
// logger.Error("failed to get mount list from system", zap.Error(err))
118+
// return false
119+
// }
120+
// isExist := false
121+
// for _, v := range mounts {
122+
// if v.MountPoint == mountPoint {
123+
// config.ServerInfo.EnableMergerFS = "true"
124+
// isExist = true
125+
// merge.SourceBasePath = v.Source
126+
// break
127+
// }
128+
// }
129+
130+
// if !isExist {
131+
// if err := MyService.LocalStorage().CreateMerge(merge); err != nil {
132+
// if errors.Is(err, v2.ErrMergeMountPointAlreadyExists) {
133+
// logger.Info(err.Error(), zap.String("mount point", mountPoint))
134+
// } else if errors.Is(err, v2.ErrMountPointIsNotEmpty) {
135+
// logger.Error("Mount point "+mountPoint+" is not empty", zap.String("mount point", mountPoint))
136+
// return false
137+
// } else {
138+
// panic(err)
139+
// }
140+
// }
141+
// }
134142

135143
if err := MyService.LocalStorage().CreateMergeInDB(merge); err != nil {
136144
panic(err)

service/v2/mount.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ func (s *LocalStorageService) Mount(m codegen.Mount) (*codegen.Mount, error) {
7777
}
7878

7979
// check if mountpoint is empty
80-
logger.Info("checking if mount point exist", zap.String("mount point", m.MountPoint))
80+
//logger.Info("checking if mount point exist", zap.String("mount point", m.MountPoint))
8181
if empty, err := file.IsDirEmpty(m.MountPoint); err != nil {
8282
logger.Error("error when trying to check if mount point is empty", zap.Error(err), zap.Any("mount", m))
8383
return nil, err

0 commit comments

Comments
 (0)