summaryrefslogtreecommitdiffstats
path: root/src/bftw.c
AgeCommit message (Expand)Author
2023-11-09ioq: Implement a better non-blocking popTavian Barnes
2023-11-01bftw: Improve ioq balancing logicTavian Barnes
2023-10-31bftw: Leave work for the main thread if profitableTavian Barnes
2023-10-17bftw: New flag to control whiteout visibilityTavian Barnes
2023-10-17dir: Add a flags parameter to bfs_opendir()Tavian Barnes
2023-10-12bftw: Make sure we don't close a directory while we unwrap itTavian Barnes
2023-10-12bftw: Fix to_close list corruption with !BFS_USE_UNWRAPDIRTavian Barnes
2023-10-12bftw: Don't force buffering for parallel dfsTavian Barnes
2023-10-12bftw: Fix unbuffered depth-first searchesTavian Barnes
2023-10-12bftw: Let iterative deepening work depth-first when sortingTavian Barnes
2023-10-02ioq: Use io_uringTavian Barnes
2023-09-26dstring: New dchar typedef for dynamic stringsTavian Barnes
2023-09-25Use the new list macrosTavian Barnes
2023-09-13bftw: Share the bftw_state between iterations of ids/edsTavian Barnes
2023-09-06bftw: Enforce the dirlimit strictlyTavian Barnes
2023-07-18bftw: Use bftw_file->next for multiple listsTavian Barnes
2023-07-18bftw: Use a larger ioq depthTavian Barnes
2023-07-18bftw: Add a queue of directories to unwrapTavian Barnes
2023-07-18bftw: Add dirs to the end of the queue in bftw_ioq_pop()Tavian Barnes
2023-07-17bftw: Use separate queues for open and closed directoriesTavian Barnes
2023-07-17bftw: Check that file->fd == bfs_dirfd(file->dir) earlierTavian Barnes
2023-07-17bftw: Reserve space in the cache before opening filesTavian Barnes
2023-07-17bftw: Pass the whole bftw_state to bftw_openat()Tavian Barnes
2023-07-17bftw: Add bfs_dir allocation wrappersTavian Barnes
2023-07-10bftw: Try to close files asynchronouslyTavian Barnes
2023-07-10ioq: Implement async close() and closedir()Tavian Barnes
2023-07-07bftw: If the ioq is full, try to pop before ioq_opendir()Tavian Barnes
2023-06-26ioq: New ioq_cancel() functionTavian Barnes
2023-06-20dir: Arena-allocate directoriesTavian Barnes
2023-06-20bftw: Arena-allocate struct bftw_fileTavian Barnes
2023-06-20alloc: New header for memory allocation utilitiesTavian Barnes
2023-06-13bftw: Use an I/O queue to open directoriesTavian Barnes
2023-06-12bftw: Implement open file pinningTavian Barnes
2023-06-12dir: Add a flag to bfs_freedir() to force the fd to stay the sameTavian Barnes
2023-05-24list: Allow popping from an empty listTavian Barnes
2023-05-20list: Return the removed item from SLIST_POP()Tavian Barnes
2023-05-18Switch from assert() to bfs_assert()/bfs_verify()Tavian Barnes
2023-05-11config: Provide <stdalign.h> and <stdbool.h>Tavian Barnes
2023-05-10config: s/BFS_FALLTHROUGH/fallthru/Tavian Barnes
2023-05-10config: s/BFS_FLEX_SIZEOF/flex_sizeof/Tavian Barnes
2023-05-05bftw: Use separate dir/file queuesTavian Barnes
2023-04-12bftw: Merge bftw_closedir() into bftw_gc()Tavian Barnes
2023-03-31list: Use macros instead of type-erased listsTavian Barnes
2023-03-29list: New helper macros for converting entries to itemsTavian Barnes
2023-03-29bftw: Use list.h for the queue and LRU listsTavian Barnes
2023-03-28bftw: Refactor bftw_queueTavian Barnes
2023-01-25Replace license boilerplate with SPDX tagsTavian Barnes
2023-01-19bfstd: New wrappers for dirname()/basename()Tavian Barnes
2022-11-06Fix includesTavian Barnes
2022-11-06bfstd: Rename from util and reorganize itTavian Barnes