214 Commits

Author SHA1 Message Date
Roman Lebedev
a0feac881a
Makefile: don't install fuse symlinks unless building with fuse 2025-11-21 17:18:39 +03:00
Kent Overstreet
8e248987a1 Update bcachefs sources to 3d3594d63070 bcachefs: simplify __bch2_inode_rm_snapshot()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-10-07 13:39:16 -04:00
Kent Overstreet
145ffa823b Update bcachefs sources to b31b8a82b13e bcachefs: fix ctime update on unlink
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-10-06 17:18:03 -04:00
Neal Gompa
76012d701b New RPM packaging derived from the Fedora package
This works as a new reference package and can be built from the
Makefile with "make rpm". It will work for virtually all RPM distributions.

Signed-off-by: Neal Gompa <neal@gompa.dev>
2025-09-27 16:48:25 -04:00
Will Fancher
ff51fb28cf dkms: Use relative path for TRACE_INCLUDE_PATH
install_dkms currently patches the absolute path of DKMSDIR into
trace.h, but this is fragile. For instance, if the DKMSDIR path
contains the word "linux", then the __stringify in define_trace.h
replaces it with its macro expansion "1" and breaks the path. It's
better to just keep it relative.

@koverstreet will have to figure out how to merge the libbcachefs part
of this correctly.
2025-09-24 02:19:33 -04:00
Kent Overstreet
9688e2e455 Update bcachefs sources to 690e0168a8e0 bcachefs: vendor closures
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-09-18 19:55:24 -04:00
Kent Overstreet
8a61c2cb15 Update bcachefs sources to 68d390aa7f67 bcachefs: Don't reference CONFIG_BCACHEFS_ASYNC_OBJECT_LISTS in makefile
Some checks failed
build / bcachefs-tools-msrv (push) Has been cancelled
.deb build orchestrator / source-only (push) Has been cancelled
.deb build orchestrator / buildd (forky, map[arch:amd64 runs-on:ubuntu-latest]) (push) Has been cancelled
.deb build orchestrator / buildd (forky, map[arch:arm64 runs-on:ubuntu-24.04-arm]) (push) Has been cancelled
.deb build orchestrator / buildd (trixie, map[arch:amd64 runs-on:ubuntu-latest]) (push) Has been cancelled
.deb build orchestrator / buildd (trixie, map[arch:arm64 runs-on:ubuntu-24.04-arm]) (push) Has been cancelled
.deb build orchestrator / buildd (unstable, map[arch:amd64 runs-on:ubuntu-latest]) (push) Has been cancelled
.deb build orchestrator / buildd (unstable, map[arch:arm64 runs-on:ubuntu-24.04-arm]) (push) Has been cancelled
.deb build orchestrator / publish (push) Has been cancelled
Nix Flake actions / nix-matrix (push) Has been cancelled
Nix Flake actions / ${{ matrix.name }} (${{ matrix.system }}) (push) Has been cancelled
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-09-18 11:56:26 -04:00
Kent Overstreet
5862ca9f02 kill systemd integration
We probably won't ever need this, since we've steadily been doing more
and more self healing.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-09-17 12:38:52 -04:00
Kent Overstreet
20667b55f8 makefile cleanup
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-09-17 12:38:33 -04:00
Kent Overstreet
993396bb57 Fix initramfs hook installation
We have to create the final hook before installation for debian package
builds.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-09-17 00:37:46 -04:00
Kent Overstreet
7d37ce6485 debian: fix dkms
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-09-17 00:18:45 -04:00
Kent Overstreet
75fcddb7a2 Makefile: install DKMS
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-09-16 23:47:30 -04:00
Roman Lebedev
a06a4bb5ea
debian package vendoring and PPA 2025-09-16 20:49:02 +03:00
Kent Overstreet
6ad0fa30a9 Update bcachefs sources to 1c8d3fc41e72 bcachefs: fast_list.c is only required for async obj debugging
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-09-14 11:28:41 -04:00
Frederik Schwan
00ad9b1ed1 add dkms support
Some checks failed
build / bcachefs-tools-deb (ubuntu-24.04) (push) Has been cancelled
build / bcachefs-tools-rpm (push) Has been cancelled
build / bcachefs-tools-msrv (push) Has been cancelled
Nix Flake actions / nix-matrix (push) Has been cancelled
Nix Flake actions / ${{ matrix.name }} (${{ matrix.system }}) (push) Has been cancelled
Signed-off-by: Frederik Schwan <frederik@tty42.de>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-09-11 16:33:53 -04:00
Kent Overstreet
b271bb146e Version is now pulled from Cargo.toml
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-09-10 23:18:40 -04:00
Kent Overstreet
e6a1c855ca bump version to 1.25.3
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-07-20 11:56:42 -04:00
Kent Overstreet
81a3e03b27 set version to 1.25.2
Some checks are pending
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-rpm (push) Waiting to run
build / bcachefs-tools-msrv (push) Waiting to run
Nix Flake actions / nix-matrix (push) Waiting to run
Nix Flake actions / ${{ matrix.name }} (${{ matrix.system }}) (push) Blocked by required conditions
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-28 16:23:25 -04:00
Kent Overstreet
6a83d70ef5 Update bcachefs sources to c9d875f9be1f bcachefs: Casefold is now a regular opts.h option
Some checks are pending
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-rpm (push) Waiting to run
build / bcachefs-tools-msrv (push) Waiting to run
Nix Flake actions / nix-matrix (push) Waiting to run
Nix Flake actions / ${{ matrix.name }} (${{ matrix.system }}) (push) Blocked by required conditions
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-21 15:47:15 -04:00
Kent Overstreet
8873eb1d0b Pull in unicode support from kernel
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-20 20:29:37 -04:00
Xarblu
96e82871a4
Preserve RUSTFLAGS from environment
Since commit 3666da87f249b23b2c1f506e0d4157fd56c543e2
the Makefile fully replaced RUSTFLAGS which users might want
to modify e.g. to use other linkers via -Clinker=*
2025-04-14 20:20:20 +02:00
Kent Overstreet
4812b3e3d9 v1.25.1
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-04-01 13:06:59 -04:00
Thomas Mühlbacher
1a8e684ae0 fix(makefile): locate built bin with CARGO_BUILD_TARGET set
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-21 13:08:48 -04:00
Kent Overstreet
ce0c2241a4 v1.25.0
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-03-19 18:03:23 -04:00
Kent Overstreet
55afc8ad37 v1.20.0
Bump version numbers

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2025-02-03 14:14:04 -05:00
Integral
511a714ed3 bcachefs-tools: update VERSION in Makefile to 1.13.0
Update VERSION in Makefile to 1.13.0.

Signed-off-by: Integral <integral@archlinuxcn.org>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-10-27 16:15:00 -04:00
Integral
b7831af74d bcachefs-tools: fix in fuse feature in RUSTFLAGS
Currently, when "BCACHEFS_FUSE=1" is set, fusemount subcommand
still cannot be identified. Change RUSTFLAGS in Makefile to fix
this problem.

Signed-off-by: Integral <integral@archlinuxcn.org>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-10-27 16:15:00 -04:00
Alyssa Ross
3666da87f2 Pass -C default-linker-libraries to rustc
By default, rustc passes -nodefaultlibs to the linker.  In some cases,
this can cause compiler builtins (e.g. __cpu_model, used by
__builtin_cpu_supports) not to be linked in:

= note: /nix/store/s2cjhni3s6shh0n35ay1hpj8d85k44qk-x86_64-unknown-linux-musl-binutils-2.43.1/bin/x86_64-unknown-linux-musl-ld: ./libbcachefs.a(tools-util.o): in function `resolve_crc32c':
        /build/source/c_src/tools-util.c:457:(.text+0x1023): undefined reference to `__cpu_model'
        collect2: error: ld returned 1 exit status

I saw this with static musl GCC builds, and others have reported it with
Clang.

Link: https://github.com/koverstreet/bcachefs-tools/issues/300
Signed-off-by: Alyssa Ross <hi@alyssa.is>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-10-12 17:20:56 -04:00
Alyssa Ross
f9ec00d5ca Remove udev from PKGCONFIG_LIBS in Makefile
libudev.pc is the pkg-config file for the udev libraries.  udev.pc is
just there to define the directory that rules etc. should be installed
into.  It therefore doesn't need to be included in the list of libraries
passed to pkg-config --cflags or pkg-config --libs.

At least one implementation of the libudev API, libudev-zero, does not
provide a udev.pc file, because it does not implement the udev rules
language, just the library API.  With this change, it's possible to
build bcachefs-tools against libudev-zero by pointing PKGCONFIG_UDEVDIR
somewhere on the make command line.

Signed-off-by: Alyssa Ross <hi@alyssa.is>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-09-04 15:38:46 -04:00
Kent Overstreet
b422b19f63 Update bcachefs sources to 22fa8fc32e6a bcachefs: rcu_pending now works in userspace 2024-08-23 19:34:30 -04:00
Reed Riley
481a50f0a9 version bump to v1.11.1 2024-08-22 16:26:18 -05:00
Kent Overstreet
60ff4f2f3c bump version to 1.9.5
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-07-18 20:48:14 -04:00
Kent Overstreet
9020d202a4 kill old python tests
these were never used, kill a dependency

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-07-15 23:34:58 -04:00
Artturin
91e67ab2bd Use the AR variable in Makefile
For cross-compiling
2024-06-24 21:00:08 +03:00
Kent Overstreet
277ba6d4ac v1.9.1
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-06-19 14:48:31 -04:00
Kent Overstreet
dd275b1c5f Update version to 1.9.0
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-06-19 09:05:50 -04:00
Kent Overstreet
0e0aa31912 Update bcachefs sources to 0389c09b2fb7 bcachefs: Fix bio alloc in check_extent_checksum()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-04-17 17:34:56 -04:00
Kent Overstreet
59e04ddf40 1.7.0 - mi_btree_bitmap
New on disk forat feature - per member 64 bit bitmap of regions with
btree nodes, to accelerate recovering by scanning for btree nodes.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-04-17 03:25:28 -04:00
Kent Overstreet
abfdc593a5 Update bcachefs sources to 83338f5b2cb8 bcachefs: fix for building in userspace 2024-03-16 19:40:33 -04:00
Kent Overstreet
010182e790 v1.6.4
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-02-23 19:25:27 -05:00
Thomas Bertschinger
3388cf009a powerpc: use "long long" for 64-bit types in userspace
This resolves build warnings and failures for architectures where the
Linux userspace `asm/types.h` header defines 64-bit types (u64, s64) as
`long` instead of `long long`.

By defining `__SANE_USERSPACE_TYPES__`, these types are defined as
`long long` instead.

Signed-off-by: Thomas Bertschinger <tahbertschinger@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-02-23 17:26:28 -05:00
Kent Overstreet
de9c798382 v1.6.3
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-02-20 18:42:07 -05:00
Kent Overstreet
6ff5313cbe cmd_fsck: Collect return code of kernel fsck with close()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-02-17 23:31:47 -05:00
Kent Overstreet
f3f005c76e Update bcachefs sources to 50847e296b34 bcachefs: Check subvol <-> inode pointers in check_inode()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-02-06 01:07:16 -05:00
Frederik Schwan
1d39ee23af cosmetic refactoring of Makefile
Make clear that LIBEXECDIR is an option.
2024-02-05 20:47:54 -05:00
Steinar H. Gunderson
e9fec00f86 Make initramfs hook install mount.bcachefs
Now that the bcachefs tool unconditionally includes the mount parts
(or more correctly, you cannot build it at all if you don't have Rust),
we can call copy_exec on mount.bcachefs, to get the symlink installed.
In particular, this helps with mounting UUID mounts as /.

See also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1060411
for the remaining parts needed in initramfs-tools itself.
2024-02-04 14:44:54 +01:00
Ryan Lahfa
ec277463e9 fix(build): clean should delete top-level libbcachefs.a
I spent some minutes pestering Kent about weird counters issues, when, actually, `make clean`
was keeping this artifact on my filesystem.

Signed-off-by: Ryan Lahfa <bcachefs@lahfa.xyz>
2024-01-27 05:15:19 +01:00
Kent Overstreet
b5fd066153 Move c_src dirs back to toplevel
We just wanted c sourcefiles out of the top level, not c source
directories.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-01-16 17:17:23 -05:00
Thomas Bertschinger
f5baaf48e3 move Rust sources to top level, C sources into c_src
This moves the Rust sources out of rust_src/ and into the top level.
Running the bcachefs executable out of the development tree is now:

$ ./target/release/bcachefs command
or
$ cargo run --profile release -- command

instead of "./bcachefs command".

Building and installing is still:

$ make && make install

Signed-off-by: Thomas Bertschinger <tahbertschinger@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-01-16 01:47:05 -05:00
Thomas Bertschinger
0a284fc4ff convert main() from C to Rust
This moves the main() function from C to Rust. It also updates the name
of the Rust package from "bcachefs-rust" to "bcachefs-tools".

Signed-off-by: Thomas Bertschinger <tahbertschinger@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-01-16 01:46:41 -05:00