mirror of
https://github.com/koverstreet/bcachefs-tools.git
synced 2025-02-09 00:00:04 +03:00
We propose a simple low-level wrapper which can perform various subvolume-related operations as an example for the API surface. This will be used in an upcoming commit to migrate the subvolume CLI fully to Rust. The API design is the following: - `BcachefsHandle` is meant as a low level handle to carry around whenever you need a filesystem handle to send ioctl to. - it possess type-safe operations Type safe operations are handled by having type safe wrappers for ioctl commands *and* their payloads. We assume that all ioctl payloads only use *one* argument, this can easily be changed if needed. When the handle goes out of scope, we automatically close it à la C++ RAII. Signed-off-by: Ryan Lahfa <bcachefs@lahfa.xyz> |
||
---|---|---|
.github | ||
bch_bindgen | ||
c_src | ||
ccan | ||
debian | ||
doc | ||
fsck | ||
include | ||
initramfs | ||
libbcachefs | ||
linux | ||
packaging | ||
raid | ||
src | ||
tests | ||
udev | ||
.bcachefs_revision | ||
.editorconfig | ||
.gitignore | ||
bcachefs.8 | ||
build.nix | ||
build.rs | ||
Cargo.lock | ||
Cargo.toml | ||
COPYING | ||
default.nix | ||
flake.lock | ||
flake.nix | ||
INSTALL.md | ||
make-release-tarball.sh | ||
Makefile | ||
Makefile.compiler | ||
mount.bcachefs.sh | ||
README.md | ||
rustfmt.toml |
bcachefs-tools
Userspace tools and docs for bcachefs
Bcachefs is an advanced new filesystem for Linux, with an emphasis on reliability and robustness and the complete set of features one would expect from a modern filesystem.
This repo primarily consists of the following:
- bcachefs tool, the reason this repo exists.
- {mkfs,mount,fsck}.bcachefs utils, which is just wrappers calling the corresponding subcommands in the main tool
- docs in the form of man-pages and a user manual
Please refer to the main site for getting started An in-depth user manual is (also) found on the official website
Version semantics
The tools relies on an expected disk format structure which is reflected by your current kernel version. Disk format can be upgraded or downgraded automatically by the kernel, if needed.
- Any patch-level change means no disk format change
- Any minor-level change means a potential disk format change which is not breaking
- Any major-level change means breaking changes
Build and install
Refer to INSTALL.md
Bug reports and contributions
- The official mailing list, linux-bcachefs@vger.kernel.org
- IRC: #bcache on OFTC (irc.oftc.net). Although, note that it can be easily missed.