mirror of
https://github.com/koverstreet/bcachefs-tools.git
synced 2025-12-09 00:00:17 +03:00
Also adds partial . and .. support, and implements ENOTDIR error. The source of this problem was due to the off-by-one interface expected by readdir. Each directory entry contains a pointer to next, so it cannot be emitted to the user until the next entry is actually read. Returning the current position + 1 is insufficient, because the user will just retry cur + 1 as the start position to see if they've reached the end of the directory. Since directory entries are keyed by a 64-bit hash in bcachefs, the result was that the user would call readdir over and over with what it believed the next pointer to be until "cur + 1" reached some enormous 64-bit value related to the hash for the "lost+found" entry.
Userspace tools for bcachefs This builds the bcachefs tool, which has a number of subcommands for formatting and managing bcachefs filesystems: bcachefs format bcachefs unlock bcachefs assemble bcachefs incremental etc. Run bcachefs --help for full list of commands.
Description
Languages
C
95.6%
C++
2%
Rust
1.4%
Roff
0.4%
Nix
0.2%
Other
0.4%