mirror of https://github.com/Xhofe/alist
fix: store storage in map whether error or not
parent
d31faabc24
commit
8e1ed4015b
|
@ -49,6 +49,7 @@ func CreateStorage(ctx context.Context, storage model.Storage) error {
|
||||||
}
|
}
|
||||||
// already has an id
|
// already has an id
|
||||||
err = storageDriver.Init(ctx, storage)
|
err = storageDriver.Init(ctx, storage)
|
||||||
|
storagesMap.Store(storage.MountPath, storageDriver)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
storageDriver.GetStorage().SetStatus(fmt.Sprintf("%+v", err.Error()))
|
storageDriver.GetStorage().SetStatus(fmt.Sprintf("%+v", err.Error()))
|
||||||
MustSaveDriverStorage(storageDriver)
|
MustSaveDriverStorage(storageDriver)
|
||||||
|
@ -58,7 +59,6 @@ func CreateStorage(ctx context.Context, storage model.Storage) error {
|
||||||
MustSaveDriverStorage(storageDriver)
|
MustSaveDriverStorage(storageDriver)
|
||||||
}
|
}
|
||||||
log.Debugf("storage %+v is created", storageDriver)
|
log.Debugf("storage %+v is created", storageDriver)
|
||||||
storagesMap.Store(storage.MountPath, storageDriver)
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -73,11 +73,11 @@ func LoadStorage(ctx context.Context, storage model.Storage) error {
|
||||||
}
|
}
|
||||||
storageDriver := driverNew()
|
storageDriver := driverNew()
|
||||||
err = storageDriver.Init(ctx, storage)
|
err = storageDriver.Init(ctx, storage)
|
||||||
|
storagesMap.Store(storage.MountPath, storageDriver)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.Wrapf(err, "failed init storage but storage is already created")
|
return errors.Wrapf(err, "failed init storage but storage is already created")
|
||||||
}
|
}
|
||||||
log.Debugf("storage %+v is created", storageDriver)
|
log.Debugf("storage %+v is created", storageDriver)
|
||||||
storagesMap.Store(storage.MountPath, storageDriver)
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -93,10 +93,10 @@ func EnableStorage(ctx context.Context, id uint) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.WithMessage(err, "failed load storage")
|
return errors.WithMessage(err, "failed load storage")
|
||||||
}
|
}
|
||||||
// reget storage from db, because it maybe hava updated
|
// re-get storage from db, because it maybe hava updated
|
||||||
storage, err = db.GetStorageById(id)
|
storage, err = db.GetStorageById(id)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.WithMessage(err, "failed reget storage again")
|
return errors.WithMessage(err, "failed re-get storage again")
|
||||||
}
|
}
|
||||||
storage.Disabled = false
|
storage.Disabled = false
|
||||||
err = db.UpdateStorage(storage)
|
err = db.UpdateStorage(storage)
|
||||||
|
|
Loading…
Reference in New Issue