Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | bftw: Check that file->fd == bfs_dirfd(file->dir) earlier | Tavian Barnes | 2023-07-17 | 1 | -2/+3 | |
| | | | | | | | This has the potential to fail on at least one known platform: macports with the legacysupport implementation of fdopendir(). Link: https://github.com/macports/macports-ports/pull/19047#issuecomment-1636059809 | |||||
* | bftw: Reserve space in the cache before opening files | Tavian Barnes | 2023-07-17 | 1 | -3/+15 | |
| | | | | | | | This fixes a storm of EMFILE retries observed with -j1 on a very large directory tree. Fixes: 7888fbababd22190e9f919fc272957426a27969e | |||||
* | bftw: Pass the whole bftw_state to bftw_openat() | Tavian Barnes | 2023-07-17 | 1 | -510/+451 | |
| | | | | | This required shuffling a lot of code around. Hopefully the new order makes more sense. | |||||
* | bftw: Add bfs_dir allocation wrappers | Tavian Barnes | 2023-07-17 | 1 | -9/+19 | |
| | ||||||
* | bftw: Try to close files asynchronously | Tavian Barnes | 2023-07-10 | 1 | -36/+139 | |
| | ||||||
* | ioq: Implement async close() and closedir() | Tavian Barnes | 2023-07-10 | 1 | -18/+23 | |
| | ||||||
* | bftw: If the ioq is full, try to pop before ioq_opendir() | Tavian Barnes | 2023-07-07 | 1 | -49/+82 | |
| | ||||||
* | ioq: New ioq_cancel() function | Tavian Barnes | 2023-06-26 | 1 | -0/+4 | |
| | ||||||
* | dir: Arena-allocate directories | Tavian Barnes | 2023-06-20 | 1 | -8/+29 | |
| | ||||||
* | bftw: Arena-allocate struct bftw_file | Tavian Barnes | 2023-06-20 | 1 | -5/+11 | |
| | ||||||
* | alloc: New header for memory allocation utilities | Tavian Barnes | 2023-06-20 | 1 | -3/+2 | |
| | ||||||
* | bftw: Use an I/O queue to open directories | Tavian Barnes | 2023-06-13 | 1 | -7/+147 | |
| | | | | Parallelism is controlled by the new -j flag. | |||||
* | bftw: Implement open file pinning | Tavian Barnes | 2023-06-12 | 1 | -32/+100 | |
| | ||||||
* | dir: Add a flag to bfs_freedir() to force the fd to stay the same | Tavian Barnes | 2023-06-12 | 1 | -2/+2 | |
| | ||||||
* | list: Allow popping from an empty list | Tavian Barnes | 2023-05-24 | 1 | -16/+3 | |
| | ||||||
* | list: Return the removed item from SLIST_POP() | Tavian Barnes | 2023-05-20 | 1 | -4/+2 | |
| | ||||||
* | Switch from assert() to bfs_assert()/bfs_verify() | Tavian Barnes | 2023-05-18 | 1 | -14/+14 | |
| | ||||||
* | config: Provide <stdalign.h> and <stdbool.h> | Tavian Barnes | 2023-05-11 | 1 | -1/+0 | |
| | | | | In anticipation of C23, since those headers won't be necessary any more. | |||||
* | config: s/BFS_FALLTHROUGH/fallthru/ | Tavian Barnes | 2023-05-10 | 1 | -1/+1 | |
| | ||||||
* | config: s/BFS_FLEX_SIZEOF/flex_sizeof/ | Tavian Barnes | 2023-05-10 | 1 | -1/+1 | |
| | ||||||
* | bftw: Use separate dir/file queues | Tavian Barnes | 2023-05-05 | 1 | -218/+176 | |
| | ||||||
* | bftw: Merge bftw_closedir() into bftw_gc() | Tavian Barnes | 2023-04-12 | 1 | -59/+47 | |
| | ||||||
* | list: Use macros instead of type-erased lists | Tavian Barnes | 2023-03-31 | 1 | -42/+94 | |
| | ||||||
* | list: New helper macros for converting entries to items | Tavian Barnes | 2023-03-29 | 1 | -13/+5 | |
| | ||||||
* | bftw: Use list.h for the queue and LRU lists | Tavian Barnes | 2023-03-29 | 1 | -218/+93 | |
| | ||||||
* | bftw: Refactor bftw_queue | Tavian Barnes | 2023-03-28 | 1 | -88/+55 | |
| | ||||||
* | Replace license boilerplate with SPDX tags | Tavian Barnes | 2023-01-25 | 1 | -15/+2 | |
| | | | | | | | And while I'm at it, remove years from copyright declarations. Link: https://spdx.dev/about/ Link: https://daniel.haxx.se/blog/2023/01/08/copyright-without-years/ | |||||
* | bfstd: New wrappers for dirname()/basename() | Tavian Barnes | 2023-01-19 | 1 | -1/+1 | |
| | ||||||
* | Fix includes | Tavian Barnes | 2022-11-06 | 1 | -2/+1 | |
| | ||||||
* | bfstd: Rename from util and reorganize it | Tavian Barnes | 2022-11-06 | 1 | -1/+1 | |
| | ||||||
* | Source / Include Folder (#88) | トトも | 2022-04-16 | 1 | -0/+1494 | |
Moved Source Files Into `src` Folder |