Chris Lu
d3b8896094
fix: skip empty folder cleanup for directory markers
...
Explicitly created directory markers (zero-byte S3 objects with keys
ending in "/") should not be auto-deleted by the empty folder cleaner
even when they have no children. These represent intentional directory
structures created via PutObject.
The distinction between implicit and explicit directories is:
- Implicit dirs: created by filer as parents, Mime="" (IsOlderDir)
- Explicit markers: created via PutObject, Mime set or ExtMimeType set
Added isDirectoryMarker() check before deletion that looks for
ExtMimeType in extended attributes (set only on zero-byte markers).
Results are cached in folderState to avoid repeated store lookups.
Uses fail-closed on transient errors but allows deletion on ErrNotFound
(entry doesn't exist = implicit directory, not a marker).
2026-03-21 13:23:19 -07:00
..
2026-01-09 18:02:59 -08:00
2026-01-07 13:06:08 -08:00
2026-01-14 17:59:59 -08:00
2026-01-14 17:59:59 -08:00
2026-02-20 18:42:00 -08:00
2026-03-21 13:23:19 -07:00
2026-01-07 13:06:08 -08:00
2026-02-20 18:42:00 -08:00
2026-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2025-12-23 14:48:50 -08:00
2026-01-09 18:02:59 -08:00
2024-03-25 12:50:43 -07:00
2025-08-03 11:56:04 -07:00
2025-08-03 11:56:04 -07:00
2025-11-25 19:35:19 -08:00
2026-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2025-11-25 19:35:19 -08:00
2026-02-20 18:42:00 -08:00
2025-11-25 19:35:19 -08:00
2026-02-20 18:42:00 -08:00
2026-02-20 18:42:00 -08:00
2026-02-20 18:42:00 -08:00
2026-01-07 13:06:08 -08:00
2025-12-12 12:51:48 -08:00
2026-01-07 13:06:08 -08:00
2025-08-06 10:09:26 -07:00
2025-11-29 10:06:11 -08:00
2022-07-29 00:17:28 -07:00
2026-01-22 14:07:24 -08:00
2026-01-07 13:06:08 -08:00
2025-11-29 10:06:11 -08:00
2026-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2025-08-30 11:15:48 -07:00
2026-02-06 21:54:43 -08:00
2026-01-16 19:48:09 -08:00
2025-12-12 12:51:48 -08:00
2026-03-06 12:35:08 -08:00
2026-03-12 13:16:28 -07:00
2025-10-29 18:31:23 -07:00
2025-10-29 18:31:23 -07:00
2022-07-29 00:17:28 -07:00
2026-03-13 09:36:54 -07:00
2026-03-15 11:27:42 -07:00
2026-03-12 13:16:28 -07:00
2025-12-30 17:32:33 -08:00
2025-12-09 19:03:15 -08:00
2022-11-15 06:33:36 -08:00
2026-03-07 09:19:40 -08:00
2025-12-03 21:12:19 -08:00
2026-01-16 19:48:09 -08:00
2025-12-03 21:12:19 -08:00
2026-03-13 09:36:54 -07:00
2025-06-24 08:44:06 -07:00
2025-11-25 19:35:19 -08:00
2026-01-07 13:06:08 -08:00
2025-11-25 19:35:19 -08:00
2026-01-07 13:06:08 -08:00
2023-04-13 22:32:45 -07:00
2026-01-04 11:34:17 -08:00
2024-12-19 19:25:06 -08:00
2026-03-07 09:19:40 -08:00
2026-03-07 09:19:40 -08:00
2026-03-17 16:49:56 -07:00
2026-03-06 12:35:08 -08:00
2025-08-06 10:09:26 -07:00
2025-12-04 23:40:56 -08:00
2026-01-07 13:06:08 -08:00
2025-12-04 23:40:56 -08:00
2022-08-26 16:41:37 -07:00
2026-03-06 12:35:08 -08:00
2026-03-15 11:27:42 -07:00
2026-03-06 12:35:08 -08:00
2022-08-30 09:37:52 -07:00
2025-07-16 23:39:27 -07:00
2026-01-22 14:07:24 -08:00
2026-01-22 14:07:24 -08:00
2024-11-04 12:08:25 -08:00