bcachefs-tools/README.md
Thomas Mühlbacher 3e50eea605 test(nix): add basic functionality testing infra
Use nixos-test scaffolding to spawn VMs and run any scripts in
`checks/*.sh` as tests inside of the VM. This should lessen the risk of
any obvious breakage in the CI but needs more and better tests to cover
more commands.

Signed-off-by: Thomas Mühlbacher <tmuehlbacher@posteo.net>
2024-06-30 13:01:18 +02:00

1.8 KiB

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

Testing

Besides manual testing, which is also encouraged, there are also a number of checks defined that are used for CI (e.g. github actions).

These checks can be listed using nix flake show. You can, for example, test the current state of the repo or test every patch before publishing them.

$ nix flake check
$ git rev-list origin/master.. | xargs -I{} nix flake check "git+file://$(pwd)?rev={}"

Bug reports and contributions