Chris Lu
fe8221c453
fs.meta.load: wait for in-flight entry creation before returning ( #11776 )
...
* fs.meta.load: wait for in-flight entry creation before returning
On io.EOF and error paths the command returned while CreateEntry
goroutines were still running, so trailing entries could be silently
dropped once the shell exited. Wait for them on every exit path and
guard the shared error with a mutex.
* fs.meta.load: surface worker errors on read/unmarshal failure paths
The ReadFull and proto.Unmarshal error paths waited for in-flight
CreateEntry workers but returned only the local error, hiding a failed
create from the caller. Check loadErr after wg.Wait() like the other
exit paths so the worker error is reported.
Extract the load loop into loadEntries so the concurrency and error
propagation can be exercised by unit tests, and add regression tests
covering delayed creates at EOF and on corrupt input plus worker error
reporting.
2026-10-17 20:28:43 -07:00
..
2026-08-27 22:27:45 -07:00
2026-08-27 22:27:45 -07:00
2026-08-27 22:27:45 -07:00
2026-01-07 13:06:08 -08:00
2026-08-27 22:27:45 -07:00
2026-08-27 22:27:45 -07:00
2026-08-27 22:27:45 -07:00
2026-07-17 12:30:42 -07:00
2026-07-17 12:30:42 -07:00
2026-10-16 21:07:51 -07:00
2026-04-21 20:17:42 -07:00
2026-08-27 22:27:45 -07:00
2026-10-16 21:07:51 -07:00
2026-08-14 13:54:12 -07:00
2026-10-16 21:07:51 -07:00
2026-10-16 21:07:51 -07:00
2026-08-27 22:27:45 -07:00
2026-10-16 21:07:51 -07:00
2026-10-16 21:07:51 -07:00
2026-08-28 16:42:34 -07:00
2026-08-14 13:54:12 -07:00
2025-10-24 20:21:35 -07:00
2025-10-24 20:21:35 -07:00
2026-10-16 21:07:51 -07:00
2026-04-17 21:09:36 -07:00
2026-09-04 23:12:27 -07:00
2025-10-24 20:21:35 -07:00
2026-01-07 13:06:08 -08:00
2025-10-24 20:21:35 -07:00
2026-10-16 21:07:51 -07:00
2026-10-16 21:07:51 -07:00
2025-10-24 20:21:35 -07:00
2026-04-28 12:30:13 -07:00
2026-10-17 20:28:43 -07:00
2026-10-17 20:28:43 -07:00
2026-01-14 21:37:50 -08:00
2026-07-23 17:44:02 -07:00
2025-10-24 20:21:35 -07:00
2026-06-08 23:42:13 -07:00
2026-06-08 23:42:13 -07:00
2025-10-24 20:21:35 -07:00
2025-10-24 20:21:35 -07:00
2025-10-24 20:21:35 -07:00
2026-09-15 20:42:18 -07:00
2026-09-15 20:42:18 -07:00
2026-07-17 12:30:42 -07:00
2025-10-17 22:11:50 -07:00
2026-01-07 13:06:08 -08:00
2026-10-16 21:07:51 -07:00
2026-05-12 12:37:09 -07:00
2026-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2025-09-09 01:01:03 -07:00
2026-08-27 22:29:48 -07:00
2026-09-14 22:09:08 -07:00
2026-07-04 10:50:32 -07:00
2026-07-04 10:50:32 -07:00
2026-08-27 22:29:48 -07:00
2026-07-15 19:20:00 -07:00
2026-09-04 23:50:11 -07:00
2026-02-05 12:57:27 -08:00
2026-09-29 22:05:42 +08:00
2026-08-18 15:38:02 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-03-25 23:09:53 -07:00
2026-05-18 13:42:32 -07:00
2026-09-17 20:30:53 -07:00
2026-09-25 22:04:54 +08:00
2026-09-25 22:04:54 +08:00
2026-09-25 07:30:42 +08:00
2026-06-06 11:20:15 -07:00
2026-07-08 14:32:04 -07:00
2026-01-27 10:50:16 -08:00
2026-08-04 16:00:04 -07:00
2026-07-03 12:39:45 -07:00
2026-07-10 22:09:39 -07:00
2026-02-26 11:56:10 -08:00
2022-09-16 02:43:49 -07:00
2026-05-07 17:45:04 -07:00
2026-09-17 21:09:21 -07:00
2026-09-17 21:09:21 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-06-24 19:36:42 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-12 18:29:18 -07:00
2026-10-17 15:21:53 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-05-18 13:42:32 -07:00
2026-07-08 18:50:54 -07:00
2026-08-19 22:59:56 -07:00
2026-01-30 22:57:05 -08:00
2026-04-28 12:30:13 -07:00
2026-01-30 22:57:05 -08:00
2026-03-03 15:10:40 -08:00
2026-08-13 19:11:38 -07:00
2026-08-25 18:03:52 -07:00
2026-09-06 23:25:28 -07:00
2026-09-29 22:05:42 +08:00
2026-08-25 18:03:52 -07:00
2026-08-12 12:29:40 -07:00
2026-09-26 15:53:39 +08:00
2026-09-26 15:53:39 +08:00
2026-09-26 15:53:39 +08:00
2026-08-25 18:03:52 -07:00
2026-08-25 18:03:52 -07:00
2026-07-21 12:43:38 -07:00
2026-09-26 15:53:39 +08:00
2026-08-27 16:44:19 -07:00
2026-10-16 21:07:51 -07:00
2026-10-16 21:07:51 -07:00
2026-08-25 18:03:52 -07:00
2026-08-25 18:03:52 -07:00
2026-10-16 21:07:51 -07:00
2026-10-16 21:07:51 -07:00
2026-08-04 16:58:25 -07:00
2026-09-26 15:53:39 +08:00
2026-01-07 13:06:08 -08:00
2026-10-16 19:45:17 -07:00
2026-08-28 16:42:34 -07:00
2026-10-15 06:36:37 -07:00
2026-10-15 06:36:37 -07:00
2025-11-09 19:58:38 -08:00
2026-07-22 14:38:06 -07:00
2026-10-16 19:45:17 -07:00
2026-10-16 21:07:51 -07:00
2026-10-16 21:07:51 -07:00
2026-06-11 10:46:34 -07:00
2026-10-16 21:07:51 -07:00
2026-07-11 13:49:36 -07:00
2026-10-16 21:07:51 -07:00
2026-01-07 13:06:08 -08:00
2026-08-27 22:27:45 -07:00
2026-08-27 22:27:45 -07:00
2026-10-16 21:07:51 -07:00
2026-10-16 21:07:51 -07:00
2026-04-07 14:10:15 -07:00
2026-08-27 22:27:45 -07:00
2026-08-14 13:54:12 -07:00
2026-10-16 21:07:51 -07:00
2026-06-14 13:55:36 -07:00
2026-09-02 22:12:51 -07:00
2026-09-02 22:12:51 -07:00
2026-08-31 11:36:23 -07:00
2025-12-15 11:18:45 -08:00
2025-12-15 11:18:45 -08:00
2025-12-15 11:18:45 -08:00