Go to file
Kent Overstreet 2aeeac7785 bcachefs: cmd_set_option() can now set device options on multi device filesystems
Currently, 'bcachefs set-fs-option' requires all devices to be specified
when setting options on an offline multidevice filesystem - it can't yet
scan for the rest of the filesystem members.

We do need to fix this, but the scan code is written in Rust, so that
either means a lot of ugly FFI code or rewriting cmd_set_option() in
Rust - neither of which are happening today.

So as an interim hack, add a --dev-idx option: this can be specified
(multiple times if desired) for indicating which devices the device
specific options should be applied to.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-12-06 16:30:19 -05: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 fix build 2024-12-03 23:07:00 -05:00
c_src bcachefs: cmd_set_option() can now set device options on multi device filesystems 2024-12-06 16:30:19 -05: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 Update bcachefs sources to 4a32728376a8 bcachefs: bcachefs_metadata_version_inode_depth 2024-12-03 21:51:54 -05:00
initramfs Make initramfs hook install mount.bcachefs 2024-02-04 14:44:54 +01:00
libbcachefs Update bcachefs sources to 4a32728376a8 bcachefs: bcachefs_metadata_version_inode_depth 2024-12-03 21:51:54 -05:00
linux Update bcachefs sources to bc01863fb6ef bcachefs: bcachefs_metadata_version_disk_accounting_big_endian 2024-11-29 21:27:09 -05: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 Allow multiple targets for subvolume delete. 2024-10-25 15:07:49 -04:00
udev fix udev rules path 2023-12-06 15:41:05 -05:00
.bcachefs_revision Update bcachefs sources to 4a32728376a8 bcachefs: bcachefs_metadata_version_inode_depth 2024-12-03 21:51:54 -05: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 Update cargo dependencies 2024-10-09 19:48:37 -04:00
Cargo.toml Fix 'fuse' feature conditional compilation 2024-10-05 22:49:27 -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 flake.lock: Update 2024-07-30 21:57:23 +00:00
flake.nix nix: add meta.mainProgram to allow directly running from this repo 2024-07-31 22:37:13 +05:30
INSTALL.md docs: udev.pc now in systemd-dev on Debian 2024-06-01 11:52:24 +02: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 bcachefs-tools: update VERSION in Makefile to 1.13.0 2024-10-27 16:15:00 -04:00
Makefile.compiler Update bcachefs sources to bc01863fb6ef bcachefs: bcachefs_metadata_version_disk_accounting_big_endian 2024-11-29 21:27:09 -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