fix(storage): delete storage fails if a panic occurred during initialization (#7501)

* fix(storage): store storages map when init storage panic

* fix(drivers): add nil check to drop method
pull/7204/merge
Jason-Fly 2024-11-16 13:20:49 +08:00 committed by GitHub
parent c3c5843dce
commit 1c01dc6839
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 7 additions and 3 deletions

View File

@ -67,7 +67,9 @@ func (d *ChaoXing) Init(ctx context.Context) error {
}
func (d *ChaoXing) Drop(ctx context.Context) error {
d.cron.Stop()
if d.cron != nil {
d.cron.Stop()
}
return nil
}

View File

@ -55,7 +55,9 @@ func (d *Vtencent) Init(ctx context.Context) error {
}
func (d *Vtencent) Drop(ctx context.Context) error {
d.cron.Stop()
if d.cron != nil {
d.cron.Stop()
}
return nil
}

View File

@ -101,7 +101,7 @@ func initStorage(ctx context.Context, storage model.Storage, storageDriver drive
log.Errorf("panic init storage: %s", errInfo)
driverStorage.SetStatus(errInfo)
MustSaveDriverStorage(storageDriver)
storagesMap.Delete(driverStorage.MountPath)
storagesMap.Store(driverStorage.MountPath, storageDriver)
}
}()
// Unmarshal Addition