summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-03-31fix: use cargo workspaceThomas Mühlbacher
This way bch_bindgen actually gets used by various cargo subcommands, like clippy. Signed-off-by: Thomas Mühlbacher <tmuehlbacher@posteo.net> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-31chore(nix): structure github CI nix flake checksThomas Mühlbacher
Makes it way easier to identify CI failures for people who try to use github for contributions. Signed-off-by: Thomas Mühlbacher <tmuehlbacher@posteo.net> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-31bcachefs-tools: add fs_usage & return -EINVAL when no matching subcommandIntegral
Add the missing usage function for "fs" subcommand; when no matching subcommand exists, print the usage and return -EINVAL. Signed-off-by: Integral <integral@archlinuxcn.org> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-30Update bcachefs sources to 7fdc3fa3cb5f bcachefs: Log original key being ↵Kent Overstreet
moved in data updates
2025-03-30list_journal: fix transaction filter extent matchingKent Overstreet
Giving a single pos for the transaction filter now correctly matches against extents. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-29Update bcachefs sources to 0a2abe7ce837 bcachefs: Don't use designated ↵Kent Overstreet
initializers for disk_accounting_pos Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-28cmd_fs_usage: Fix kernel version checkKent Overstreet
This needed an access() check, like the other uses, instead of exiting if it can't be read. Factor out a small common helper for this. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-28bcachefs-tools: hide FUSE in usage when BCACHEFS_FUSE disabledIntegral
When BCACHEFS_FUSE is disabled or not defined, FUSE section shouldn't be displayed in bcachefs usage (--help). Signed-off-by: Integral <integral@archlinuxcn.org> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-27bcachefs-tools: make targets of subvolume create/delete requiredIntegral
Currently, when no targets are provided for "bcachefs subvolume create" or "bcachefs subvolume delete", it will exit silently with code 0. Make targets (arguments) required to solve this problem. This patch solves issue https://github.com/koverstreet/bcachefs/issues/766. Signed-off-by: Integral <integral@archlinuxcn.org> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-26fsck: Kill -R, --reconstruct_allocKent Overstreet
We don't want users hitting this accidentally, and if needed for some strange reason (it shouldn't be), it can still be specified via -o. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-26bcachefs-tools: fix build failure by fixing of C header filenameIntegral
C header filename in `c_src/cmd_fusemount.c` hasn't been updated after renaming `libbcachefs/fs-common.h`. Updating the filename to fix build failure. Signed-off-by: Integral <integral@archlinuxcn.org> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-26migrate_superblock: make sure we remove old superblockKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-25format: fix minimum bucket nr checkKent Overstreet
2025-03-25mount: Parse bcachefs options, and pass them to mount helperKent Overstreet
This fixes the migrate test - we need to handle the sb=# option. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-25rust binding for parse_mount_opts()Kent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-25Update bcachefs sources to 1392e502d48b bcachefs: Add an "ignore unknown" ↵Kent Overstreet
option to bch2_parse_mount_opts() Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-24Migrate tool fixesKent Overstreet
Migrate now works: there is an inconsequential free space inconsistency after marking the new superblock (in migrate_superblock), which we're hacking around with a fsck. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-23format: kill min_size()Kent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-23format: Redo bucket size calculationsKent Overstreet
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-23bch2_format() now takes a darray of dev_optsKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-21chore(nix): rm unused attr build inputThomas Mühlbacher
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-21feat(nix): add a CI check that builds on 32-bitThomas Mühlbacher
Picked armv7l-linux but i686-linux would probably also work. Not sure which one is more important to check for. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-21feat(nix): add an MSRV build to CIThomas Mühlbacher
Having a build that uses the actual version of Rust specified in Cargo.toml should allow us to catch issues with breaking MSRV compat more easily. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-21feat(nix): enable cross compilationThomas Mühlbacher
Adds packages for every member of systems from any of the systems. Since rust-overlay is more or less basically like rustup, we get to just have all of those targets without having to build quite as much of the toolchain. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-21fix(makefile): locate built bin with CARGO_BUILD_TARGET setThomas Mühlbacher
When this environment variable is set, e.g. for some cross compile setups, the target dir is nested a little further. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-21fix(key): replace c_str macro with `c""` literalThomas Mühlbacher
According to the MSRV in Cargo.toml, we can use this now. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-21feat(nix): replace fenix with rust-overlayThomas Mühlbacher
We're going to use rust-overlay for setting up an MSRV build. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-21feat(nix): open up support to more architecturesThomas Mühlbacher
This means that the flake can now be built for the following architectures: - aarch64-linux - armv6l-linux - armv7l-linux - i686-linux - powerpc64le-linux - riscv64-linux - x86_64-linux It doesn't mean that it's necessarily going to work perfectly on all of these architecture and binary cache support is not available for a lot of them either. But at least it let's you build for them if you want to. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-21fix(nix): rm input from crane that no longer existsThomas Mühlbacher
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-21flake.lock: UpdateThomas Mühlbacher
Flake lock file updates: • Updated input 'crane': 'github:ipetkov/crane/529c1a0b1f29f0d78fa3086b8f6a134c71ef3aaf' (2024-07-24) → 'github:ipetkov/crane/70947c1908108c0c551ddfd73d4f750ff2ea67cd' (2025-03-19) • Removed input 'crane/nixpkgs' • Updated input 'fenix': 'github:nix-community/fenix/483df76def3e5010d709aa3a0418ba2088503994' (2024-07-30) → 'github:nix-community/fenix/7d9ba794daf5e8cc7ee728859bc688d8e26d5f06' (2025-03-20) • Updated input 'fenix/rust-analyzer-src': 'github:rust-lang/rust-analyzer/a021b85be57d34b1eed687fcafd5d5ec64b2d853' (2024-07-29) → 'github:rust-lang/rust-analyzer/15d87419f1a123d8f888d608129c3ce3ff8f13d4' (2025-03-18) • Updated input 'flake-compat': 'github:edolstra/flake-compat/0f9255e01c2351cc7d116c072cb317785dd33b33' (2023-10-04) → 'github:edolstra/flake-compat/ff81ac966bb2cae68946d5ed5fc4994f96d0ffec' (2024-12-04) • Updated input 'flake-parts': 'github:hercules-ci/flake-parts/9227223f6d922fee3c7b190b2cc238a99527bbb7' (2024-07-03) → 'github:hercules-ci/flake-parts/f4330d22f1c5d2ba72d3d22df5597d123fdb60a9' (2025-03-07) • Updated input 'flake-parts/nixpkgs-lib': 'https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz?narHash=sha256-Fm2rDDs86sHy0/1jxTOKB1118Q0O3Uc7EC0iXvXKpbI%3D' (2024-07-01) → 'github:nix-community/nixpkgs.lib/147dee35aab2193b174e4c0868bd80ead5ce755c' (2025-03-02) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/52ec9ac3b12395ad677e8b62106f0b98c1f8569d' (2024-07-28) → 'github:nixos/nixpkgs/a84ebe20c6bc2ecbcfb000a50776219f48d134cc' (2025-03-19) • Updated input 'treefmt-nix': 'github:numtide/treefmt-nix/768acdb06968e53aa1ee8de207fd955335c754b7' (2024-07-30) → 'github:numtide/treefmt-nix/adc195eef5da3606891cedf80c0d9ce2d3190808' (2025-03-19) Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-19v1.25.0v1.25.0Kent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-19More device option workKent Overstreet
More work to regularize device options, with common command line parsing - like other options. This fixes an assortment of little nits: buggyness with the discard option, device state (and others) can now be specied at device add time, and is a decent cleanup. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-19cmd_fsck: just exit if passed -aKent Overstreet
-a is used when called from system to mean "automatic invocation, run check only if you think you need it". Since we have self healing and online fsck, we never need run fsck automatically at boot time. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-19Update bcachefs sources to dbe591cee299 bcachefs: Add missing smp_rmb()Kent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-17cmd_recover_super: 'bcachefs recover-super'Kent Overstreet
New tool for scanning for backup superblocks, to recover when the primary superblock + sb layout have been overwritten. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-17Update bcachefs sources to 4d28432bcc5f bcachefs: Validate bch_sb.offset fieldKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-16Format now sets version_incompat_allowedKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-16Update bcachefs sources to 46af7258b951 bcachefs: BCH_SB_FEATURES_ALL ↵Kent Overstreet
includes BCH_FEATURE_incompat_verison_field Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-02-22fix bch2_super_write() for bs > 4096Kent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-02-20Update bcachefs sources to 9736cbbc5cc3 bcachefs: bs > ps supportKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-02-13Switch to c11 atomicsKent Overstreet
there's a strange bug in liburcu's usage of c11 atomics turning up with gcc 15; switch to using c11 atomics directly to work around this. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-02-13Merge pull request #362 from Conan-Kudo/update-fedora-builddepskoverstreet
docs: INSTALL: Update list of build dependencies for Fedora
2025-02-13docs: INSTALL: Update list of build dependencies for FedoraNeal Gompa
This is more in line with the dependencies used to build it for the official Fedora package. Signed-off-by: Neal Gompa <neal@gompa.dev>
2025-02-06Merge remote-tracking branch 'github/master'Kent Overstreet
2025-02-06Merge pull request #360 from pevik/opensuse-installkoverstreet
docs: Add fuse package on openSUSE
2025-02-06cmd_fs_usage: Handle querying old versionsKent Overstreet
Fix reading accounting from old kernel versions that had it in little endian. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-02-06docs: Add fuse package on openSUSEPetr Vorel
While it, shorten zypper command and reformat. Signed-off-by: Petr Vorel <pvorel@suse.cz>
2025-02-03fixup! Update bcachefs sources to 63bbe0ca4167 bcachefs: ScrubKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-02-03v1.20.0v1.20.0Kent Overstreet
Bump version numbers Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-02-03ScrubKent Overstreet
Implement 'bcachefs data scrub', frontend for BCH_IOCTL_DATA.BCH_DATA_OP_scrub. Takes a path to a device, mountpoint, or filesystem uuid. Can be run on a specific device by passing a device, or if run on a filesystem scrubs all devices in parallel. Metadata only scrubbing is supported via -m. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>