Ping Qiu
a9a5e455c6
fix: Lookup/ListAll return copies, add UpdateEntry for safe mutation
...
Lookup() and ListAll() now return value copies (not pointers to
internal registry state). Callers can no longer mutate registry
entries without holding a lock.
Added clone() on BlockVolumeEntry with deep-copied Replicas slice.
Added UpdateEntry(name, func(*BlockVolumeEntry)) for locked mutation.
ListByServer() also returns copies.
Migrated 1 production mutation (ReplicaPlacement + Preset in create
handler) and ~20 test mutations to use UpdateEntry.
5 new copy-correctness tests: Lookup returns copy, Replicas slice
isolated, ListAll returns copies, UpdateEntry mutates, UpdateEntry
not-found error.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-24 01:00:27 -07:00
..
2025-11-04 13:02:22 -08:00
2026-01-07 13:06:08 -08:00
2026-02-22 13:47:29 -08:00
2026-02-23 16:27:08 -08:00
2026-01-03 22:45:48 -08:00
2026-03-08 16:52:37 -07:00
2026-03-02 11:34:06 -08:00
2019-03-03 10:17:44 -08:00
2025-12-05 15:59:12 -08:00
2026-01-07 13:06:08 -08:00
2025-12-26 13:26:25 -08:00
2026-01-07 13:06:08 -08:00
2025-12-16 12:41:04 -08:00
2026-01-16 19:48:09 -08:00
2025-10-24 01:26:42 -07:00
2026-01-07 13:06:08 -08:00
2025-11-25 19:35:19 -08:00
2026-01-29 14:42:09 -08:00
2026-01-29 21:45:15 -08:00
2025-08-11 16:45:13 -07:00
2026-01-26 22:59:43 -08:00
2025-06-24 08:44:06 -07:00
2026-01-07 13:06:08 -08:00
2025-11-21 14:46:32 -08:00
2025-06-24 08:44:06 -07:00
2025-11-28 11:52:57 -08:00
2025-07-16 23:39:27 -07:00
2025-08-21 08:28:07 -07:00
2026-02-06 21:54:43 -08:00
2025-12-12 12:51:48 -08:00
2026-01-29 21:45:15 -08:00
2026-02-20 18:42:00 -08:00
2025-12-14 21:56:07 -08:00
2025-12-14 21:56:07 -08:00
2026-02-03 17:43:58 -08:00
2026-03-24 01:00:27 -07:00
2026-03-05 00:52:05 -08:00
2026-03-06 00:05:17 -08:00
2026-03-24 01:00:27 -07:00
2026-03-13 17:21:17 -07:00
2026-03-23 02:12:42 -07:00
2026-03-23 02:12:42 -07:00
2026-03-23 02:12:25 -07:00
2026-03-23 02:12:25 -07:00
2026-03-24 01:00:27 -07:00
2026-03-24 01:00:27 -07:00
2026-01-07 13:06:08 -08:00
2026-02-04 08:48:55 -08:00
2026-03-22 14:44:24 -07:00
2026-03-24 01:00:27 -07:00
2026-01-07 13:06:08 -08:00
2022-07-29 00:17:28 -07:00
2025-12-19 00:15:39 -08:00
2026-01-11 12:31:46 -08:00
2026-01-23 12:25:11 -08:00
2026-03-22 14:44:24 -07:00
2026-02-22 23:45:48 -08:00
2026-03-06 01:06:51 -08:00
2026-03-24 01:00:27 -07:00
2026-03-24 01:00:27 -07:00
2025-11-26 08:01:19 -08:00
2025-09-04 05:39:56 -07:00
2026-03-23 02:12:25 -07:00
2026-03-02 11:34:06 -08:00
2026-03-24 01:00:27 -07:00
2026-03-23 02:12:25 -07:00
2026-03-24 01:00:27 -07:00
2026-03-22 14:44:24 -07:00
2026-03-24 01:00:27 -07:00
2026-03-24 01:00:27 -07:00
2026-03-24 01:00:27 -07:00
2026-03-22 14:44:24 -07:00
2026-03-22 14:44:24 -07:00
2026-03-02 11:34:06 -08:00
2026-03-24 01:00:27 -07:00
2026-03-24 01:00:27 -07:00
2026-01-18 14:02:34 -08:00
2026-02-09 07:46:34 -08:00
2026-02-09 07:46:34 -08:00
2026-01-07 13:06:08 -08:00
2026-02-19 12:26:27 -08:00
2026-02-06 10:58:43 -08:00
2026-02-02 13:21:02 -08:00
2026-03-12 15:06:48 -07:00
2026-03-12 15:06:48 -07:00
2026-03-22 14:44:24 -07:00
2022-07-29 00:17:28 -07:00
2026-02-24 20:07:26 -08:00
2026-02-09 21:46:55 -08:00
2026-02-09 12:34:38 -08:00
2022-07-29 00:17:28 -07:00
2026-01-07 13:06:08 -08:00
2026-02-02 13:21:02 -08:00
2026-02-02 13:21:02 -08:00
2026-02-16 15:09:01 -08:00
2026-02-06 10:58:43 -08:00
2026-02-02 13:21:02 -08:00
2022-10-14 00:18:09 -07:00
2026-02-02 13:21:02 -08:00
2026-02-02 13:21:02 -08:00
2026-03-08 16:52:37 -07:00
2026-03-12 15:06:48 -07:00
2025-12-02 23:19:14 -08:00
2025-12-05 15:59:12 -08:00
2025-11-26 08:01:19 -08:00
2026-02-06 21:54:43 -08:00
2025-12-16 13:42:18 -08:00
2026-02-06 10:58:43 -08:00
2026-03-04 11:01:08 -08:00
2025-11-29 10:06:11 -08:00
2026-01-07 13:06:08 -08:00