Go to file
Kent Overstreet a55c655158
Some checks are pending
build / bcachefs-tools-rpm (push) Waiting to run
build / bcachefs-tools-deb (ubuntu-22.04) (push) Waiting to run
build / bcachefs-tools-deb (ubuntu-24.04) (push) Waiting to run
build / bcachefs-tools-msrv (push) Waiting to run
Nix-Tests / nix-flake-check (push) Waiting to run
format: Redo bucket size calculations
bucket size now takes into account system memory and amount of memory
required to fsck: on very large filesystems it will automatically scale
up bucket size to ensure we can fsck.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-23 11:52:54 -04:00
.github ci: bump upload-artifact action 2024-07-17 11:24:07 +02:00
arch/etc initcpio: small improvements to the mkinitcpio hooks 2024-12-02 09:46:38 +11:00
bch_bindgen Update bcachefs sources to f4b9a91fce73 bcachefs: Scrub 2024-12-30 17:04:00 -05:00
c_src format: Redo bucket size calculations 2025-03-23 11:52:54 -04:00
ccan treewide, docs: fix typos 2024-05-29 09:22:09 +05:30
debian kill old python tests 2024-07-15 23:34:58 -04:00
doc change setattr to set-file-option in docs/usage 2024-08-22 16:23:51 -05:00
fsck fix fsck service location 2024-01-11 23:55:39 -08:00
include format: Redo bucket size calculations 2025-03-23 11:52:54 -04:00
initramfs Make initramfs hook install mount.bcachefs 2024-02-04 14:44:54 +01:00
libbcachefs More device option work 2025-03-19 15:47:44 -04:00
linux Update bcachefs sources to 46af7258b951 bcachefs: BCH_SB_FEATURES_ALL includes BCH_FEATURE_incompat_verison_field 2025-03-16 16:09:01 -04:00
packaging treewide, docs: fix typos 2024-05-29 09:22:09 +05:30
raid raid/cpu: Use memcpy() instead of type punning 2024-07-12 14:02:14 -04:00
src fix(key): replace c_str macro with c"" literal 2025-03-21 13:08:39 -04:00
udev fix udev rules path 2023-12-06 15:41:05 -05:00
.bcachefs_revision Update bcachefs sources to dbe591cee299 bcachefs: Add missing smp_rmb() 2025-03-19 10:18:56 -04:00
.editorconfig chore(editorconfig): extend for sh scripts 2024-06-18 20:56:06 +02:00
.gitignore chore: rm leftover gitignore entries 2024-07-21 01:16:28 +02:00
bcachefs Add bcachefs command compatibility symlink 2024-01-29 14:29:35 +01:00
bcachefs.8 man: setattr has been renamed to set-file-option 2024-11-05 14:00:13 +01:00
build.rs Move c_src dirs back to toplevel 2024-01-16 17:17:23 -05:00
Cargo.lock v1.25.0 2025-03-19 18:03:23 -04:00
Cargo.toml feat(nix): add an MSRV build to CI 2025-03-21 13:09:15 -04:00
COPYING bcache-tools are GPL 2013-07-17 13:13:31 -07:00
default.nix style(nix): run nix fmt 2024-05-22 22:35:05 +02:00
flake.lock feat(nix): replace fenix with rust-overlay 2025-03-21 13:08:31 -04:00
flake.nix chore(nix): rm unused attr build input 2025-03-21 13:09:26 -04:00
INSTALL.md docs: INSTALL: Update list of build dependencies for Fedora 2025-02-13 16:46:57 -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 fix(makefile): locate built bin with CARGO_BUILD_TARGET set 2025-03-21 13:08:48 -04:00
Makefile.compiler Update bcachefs sources to 864591728963 bcachefs: Dropped superblock write is no longer a fatal error 2024-12-29 14:57:48 -05: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 Format with rustfmt 2024-05-26 20:38:08 -04: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