Go to file
Thomas Bertschinger f6b619daad rust: update bindgen to 0.69.4; remove custom type modifications
This updates rust-bindgen to version 0.69.4 which includes the patch
199bee441ad0: "try to avoid #[repr(packed)] when align is needed". With
this patch, bindgen generates code that is both ABI-correct and can be
compiled by rustc, for 3 bcachefs types:

- bkey
- bch_extent_crc32
- bch_extent_ptr

This allows us to remove the custom treatment for these three types.

Signed-off-by: Thomas Bertschinger <tahbertschinger@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-02-04 18:26:33 -05:00
.github move Rust sources to top level, C sources into c_src 2024-01-16 01:47:05 -05:00
bch_bindgen rust: update bindgen to 0.69.4; remove custom type modifications 2024-02-04 18:26:33 -05:00
c_src cmd_list_journal: --transaction-filter now takes range 2024-01-27 10:58:14 -05:00
ccan Move c_src dirs back to toplevel 2024-01-16 17:17:23 -05:00
debian fix packaging 2023-12-10 12:16:00 -05:00
doc Add additional information about encryption 2023-07-10 16:03:30 -04:00
fsck fix fsck service location 2024-01-11 23:55:39 -08:00
include Update bcachefs sources to 481b5f343248 bcachefs: Better error messages for missing inodes in fsck 2024-01-24 17:36:11 -05:00
initramfs Make initramfs hook install mount.bcachefs 2024-02-04 14:44:54 +01:00
libbcachefs fix(libbcachefs/ioctl): dirfd should be a signed 32 bits integer 2024-01-26 20:39:08 -05:00
linux Update bcachefs sources to 481b5f343248 bcachefs: Better error messages for missing inodes in fsck 2024-01-24 17:36:11 -05:00
packaging packaging: Update RPM spec to use %_libexecdir for libexec files 2023-12-24 09:09:56 -05:00
raid Move c_src dirs back to toplevel 2024-01-16 17:17:23 -05:00
src feat(rust/commands): introduce Rust-driven subvolume sub-CLI 2024-01-27 05:15:19 +01:00
tests move Rust sources to top level, C sources into c_src 2024-01-16 01:47:05 -05:00
udev fix udev rules path 2023-12-06 15:41:05 -05:00
.bcachefs_revision Update bcachefs sources to 481b5f343248 bcachefs: Better error messages for missing inodes in fsck 2024-01-24 17:36:11 -05:00
.editorconfig nix: overhaul build system. 2023-01-03 16:58:55 +13:00
.gitignore Add bcachefs command compatibility symlink 2024-01-29 14:29:35 +01:00
bcachefs Add bcachefs command compatibility symlink 2024-01-29 14:29:35 +01:00
bcachefs.8 man: Fix cmd-option format 2023-11-27 21:04:03 -05:00
build.nix use upstream bindgen; fix packed and aligned types 2024-01-23 13:08:12 -05:00
build.rs Move c_src dirs back to toplevel 2024-01-16 17:17:23 -05:00
Cargo.lock rust: update bindgen to 0.69.4; remove custom type modifications 2024-02-04 18:26:33 -05:00
Cargo.toml use upstream bindgen; fix packed and aligned types 2024-01-23 13:08:12 -05:00
COPYING bcache-tools are GPL 2013-07-17 13:13:31 -07:00
default.nix nix: fix build add overlay and formatter to flake 2023-11-09 22:09:33 +01:00
flake.lock nix: fix build add overlay and formatter to flake 2023-11-09 22:09:33 +01:00
flake.nix nix: add bcachefs-fuse package 2023-11-20 15:13:17 -05:00
INSTALL.md docs: add llvm-config dependency for arch, fedora 2023-12-19 19:52:37 -05:00
make-release-tarball.sh move Rust sources to top level, C sources into c_src 2024-01-16 01:47:05 -05:00
Makefile Make initramfs hook install mount.bcachefs 2024-02-04 14:44:54 +01:00
Makefile.compiler Update bcachefs sources to f9c612bbf82d bcachefs: Fixes for building in userspace 2023-09-23 20:03:23 -04:00
mount.bcachefs.sh Add a shell script version of mount.bcachefs 2020-08-24 23:17:17 -04:00
README.md doc(versioning): document version semantics of this project 2024-01-26 21:04:45 -05:00
rustfmt.toml move Rust sources to top level, C sources into c_src 2024-01-16 01:47:05 -05:00

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