AddStorage adds a storage entry and handles deduplication.
(storage *Storage)
| 67 | |
| 68 | // AddStorage adds a storage entry and handles deduplication. |
| 69 | func (sm *StorageManager) AddStorage(storage *Storage) { |
| 70 | sm.AllStorages = append(sm.AllStorages, storage) |
| 71 | |
| 72 | if storage.IsShared() { |
| 73 | // For shared storage, only add if we haven't seen this storage name before |
| 74 | found := false |
| 75 | |
| 76 | for _, existing := range sm.SharedStorages { |
| 77 | if existing.Name == storage.Name { |
| 78 | found = true |
| 79 | |
| 80 | break |
| 81 | } |
| 82 | } |
| 83 | |
| 84 | if !found { |
| 85 | sm.SharedStorages = append(sm.SharedStorages, storage) |
| 86 | sm.UniqueStorages = append(sm.UniqueStorages, storage) |
| 87 | } |
| 88 | } else { |
| 89 | // For local storage, always add since each node has unique storage |
| 90 | sm.LocalStorages = append(sm.LocalStorages, storage) |
| 91 | sm.UniqueStorages = append(sm.UniqueStorages, storage) |
| 92 | } |
| 93 | } |
| 94 | |
| 95 | // GetTotalUsage returns total used space across all unique storages. |
| 96 | func (sm *StorageManager) GetTotalUsage() int64 { |
no test coverage detected