logging and diagnostic features added
Some checks failed
CI / test-build (push) Failing after 2m11s

This commit is contained in:
2025-12-15 00:45:14 +07:00
parent 3e64de18ed
commit df475bc85e
26 changed files with 5878 additions and 91 deletions

View File

@@ -52,13 +52,16 @@ func (s *NFSService) ApplyConfiguration(exports []models.NFSExport) error {
return fmt.Errorf("replace exports: %w", err)
}
// Reload NFS exports
if err := s.reloadExports(); err != nil {
// Reload NFS exports with error recovery
reloadErr := s.reloadExports()
if reloadErr != nil {
// Try to restore backup on failure
if _, err2 := os.Stat(backupPath); err2 == nil {
os.Rename(backupPath, s.exportsPath)
if restoreErr := os.Rename(backupPath, s.exportsPath); restoreErr != nil {
return fmt.Errorf("reload failed and backup restore failed: reload=%v, restore=%v", reloadErr, restoreErr)
}
}
return fmt.Errorf("reload exports: %w", err)
return fmt.Errorf("reload exports: %w", reloadErr)
}
return nil

View File

@@ -55,13 +55,16 @@ func (s *SMBService) ApplyConfiguration(shares []models.SMBShare) error {
return fmt.Errorf("replace config: %w", err)
}
// Reload Samba service
if err := s.reloadService(); err != nil {
// Reload Samba service with retry
reloadErr := s.reloadService()
if reloadErr != nil {
// Try to restore backup on failure
if _, err2 := os.Stat(backupPath); err2 == nil {
os.Rename(backupPath, s.configPath)
if restoreErr := os.Rename(backupPath, s.configPath); restoreErr != nil {
return fmt.Errorf("reload failed and backup restore failed: reload=%v, restore=%v", reloadErr, restoreErr)
}
}
return fmt.Errorf("reload service: %w", err)
return fmt.Errorf("reload service: %w", reloadErr)
}
return nil