summaryrefslogtreecommitdiffstats
path: root/src/bftw.c
Commit message (Expand)AuthorAgeFilesLines
* bftw: New bftw_queue abstractionTavian Barnes2024-01-311-74/+292
* ioq: Implement ioq_stat()Tavian Barnes2024-01-181-0/+3
* ioq: Use the negative errno conventionTavian Barnes2024-01-131-1/+1
* bfstd: New {error,errno}_is_like() functionsTavian Barnes2024-01-131-15/+3
* Work around DragonFly BSD kernel bugTavian Barnes2024-01-041-1/+13
* ioq: Implement a better non-blocking popTavian Barnes2023-11-091-1/+1
* bftw: Improve ioq balancing logicTavian Barnes2023-11-011-13/+22
* bftw: Leave work for the main thread if profitableTavian Barnes2023-10-311-4/+13
* bftw: New flag to control whiteout visibilityTavian Barnes2023-10-171-2/+16
* dir: Add a flags parameter to bfs_opendir()Tavian Barnes2023-10-171-2/+2
* bftw: Make sure we don't close a directory while we unwrap itTavian Barnes2023-10-121-2/+6
* bftw: Fix to_close list corruption with !BFS_USE_UNWRAPDIRTavian Barnes2023-10-121-6/+13
* bftw: Don't force buffering for parallel dfsTavian Barnes2023-10-121-5/+30
* bftw: Fix unbuffered depth-first searchesTavian Barnes2023-10-121-15/+41
* bftw: Let iterative deepening work depth-first when sortingTavian Barnes2023-10-121-1/+1
* ioq: Use io_uringTavian Barnes2023-10-021-5/+18
* dstring: New dchar typedef for dynamic stringsTavian Barnes2023-09-261-1/+1
* Use the new list macrosTavian Barnes2023-09-251-13/+11
* bftw: Share the bftw_state between iterations of ids/edsTavian Barnes2023-09-131-72/+71
* bftw: Enforce the dirlimit strictlyTavian Barnes2023-09-061-19/+17
* bftw: Use bftw_file->next for multiple listsTavian Barnes2023-07-181-29/+21
* bftw: Use a larger ioq depthTavian Barnes2023-07-181-22/+12
* bftw: Add a queue of directories to unwrapTavian Barnes2023-07-181-7/+22
* bftw: Add dirs to the end of the queue in bftw_ioq_pop()Tavian Barnes2023-07-181-11/+25
* bftw: Use separate queues for open and closed directoriesTavian Barnes2023-07-171-89/+115
* bftw: Check that file->fd == bfs_dirfd(file->dir) earlierTavian Barnes2023-07-171-2/+3
* bftw: Reserve space in the cache before opening filesTavian Barnes2023-07-171-3/+15
* bftw: Pass the whole bftw_state to bftw_openat()Tavian Barnes2023-07-171-510/+451
* bftw: Add bfs_dir allocation wrappersTavian Barnes2023-07-171-9/+19
* bftw: Try to close files asynchronouslyTavian Barnes2023-07-101-36/+139
* ioq: Implement async close() and closedir()Tavian Barnes2023-07-101-18/+23
* bftw: If the ioq is full, try to pop before ioq_opendir()Tavian Barnes2023-07-071-49/+82
* ioq: New ioq_cancel() functionTavian Barnes2023-06-261-0/+4
* dir: Arena-allocate directoriesTavian Barnes2023-06-201-8/+29
* bftw: Arena-allocate struct bftw_fileTavian Barnes2023-06-201-5/+11
* alloc: New header for memory allocation utilitiesTavian Barnes2023-06-201-3/+2
* bftw: Use an I/O queue to open directoriesTavian Barnes2023-06-131-7/+147
* bftw: Implement open file pinningTavian Barnes2023-06-121-32/+100
* dir: Add a flag to bfs_freedir() to force the fd to stay the sameTavian Barnes2023-06-121-2/+2
* list: Allow popping from an empty listTavian Barnes2023-05-241-16/+3
* list: Return the removed item from SLIST_POP()Tavian Barnes2023-05-201-4/+2
* Switch from assert() to bfs_assert()/bfs_verify()Tavian Barnes2023-05-181-14/+14
* config: Provide <stdalign.h> and <stdbool.h>Tavian Barnes2023-05-111-1/+0
* config: s/BFS_FALLTHROUGH/fallthru/Tavian Barnes2023-05-101-1/+1
* config: s/BFS_FLEX_SIZEOF/flex_sizeof/Tavian Barnes2023-05-101-1/+1
* bftw: Use separate dir/file queuesTavian Barnes2023-05-051-218/+176
* bftw: Merge bftw_closedir() into bftw_gc()Tavian Barnes2023-04-121-59/+47
* list: Use macros instead of type-erased listsTavian Barnes2023-03-311-42/+94
* list: New helper macros for converting entries to itemsTavian Barnes2023-03-291-13/+5
* bftw: Use list.h for the queue and LRU listsTavian Barnes2023-03-291-218/+93