summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-05-25Update bcachefs sources to 31c09369cd six locks: Fix an unitialized varKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-05-19Update bcachefs sources to 799716df00 bcachefs: Delete an incorrect ↵Kent Overstreet
bch2_trans_unlock() Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-05-13Update bcachefs sources to 400f275d46 bcachefs: Fix check_overlapping_extents()Kent Overstreet
2023-05-08Update bcachefs sources to 5074caad6a fixup! bcachefs: BTREE_ID_snapshot_treeKent Overstreet
2023-05-08Update bcachefs sources to e990c131de fixup! bcachefs: BTREE_ID_snapshot_treeKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-05-02Update bcachefs sources to 6a20aede29 bcachefs: Fix quotas + snapshotsv0.29Kent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-04-27chore(rust): add opt_get! and expose some FMODE_* as Rust constTruongSinh Tran-Nguyen
In an effort to rewrite `bch2_read_super` from C to Rust, it is neccessary to have `opt_get!` macro defined, and some FMODE_* consts (defined as macro in `include/linux/blkdev.h`) defined as Rust const. Bindgen is currently unable to exapnd C functional macro [1], this this commit use the workaround as introduced in [2]. [1] https://github.com/rust-lang/rust-bindgen/issues/753 [2] https://github.com/rust-lang/rust-bindgen/issues/753#issuecomment-608546390 Signed-off-by: TruongSinh Tran-Nguyen <i@truongsinh.pro>
2023-04-26feat(cmd_mount): Add support for magic keyword `OLD_BLKID_UUID`TruongSinh Tran-Nguyen
This commit enhances mount sub command by allowing it to accept `OLD_BLKID_UUID=xxx` as the device, enabling whole fs mounting without relying on colon-separated devices. Using colon-separated devices in fstab is discouraged due to potential device reference issues after reboot. Additionally, using `UUID=xxx` in fstab or with `mount -t bcachefs` is currently infeasible as it depends on blkid, which prior to v2.39, does not recognize bcachefs. This update enables mounting via fstab using `OLD_BLKID_UUID=xxx` as obtained from `bcachefs show-super` "External UUID". Signed-off-by: TruongSinh Tran-Nguyen <i@truongsinh.pro>
2023-04-26chore: logger for idiomatic style and expanded logging levelsTruongSinh Tran-Nguyen
Improve the Rust logger by adhering to idiomatic Rust conventions and incorporating additional logging levels: warn, debug, and trace. Signed-off-by: TruongSinh Tran-Nguyen <i@truongsinh.pro>
2023-04-26A small compile fixMikulas Patocka
Hi Here I'm sending a small compile fix for bcachefs-tools. Without this patch, I get this error: cargo build --release --manifest-path rust-src/Cargo.toml Compiling bch_bindgen v0.1.0 (/usr/src/git/bcachefs-tools/rust-src/bch_bindgen) error: failed to run custom build command for `bch_bindgen v0.1.0 (/usr/src/git/bcachefs-tools/rust-src/bch_bindgen)` Caused by: process didn't exit successfully: `/usr/src/git/bcachefs-tools/rust-src/target/release/build/bch_bindgen-733e88995ce9eab7/build-script-build` (exit status: 101) --- stderr warning: optimization flag '-fkeep-inline-functions' is not supported [-Wignored-optimization-argument] ../../include/linux/bit_spinlock.h:20:3: error: call to undeclared function 'futex'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] ../../include/linux/bit_spinlock.h:28:2: error: call to undeclared function 'futex'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] ../../include/linux/bit_spinlock.h:39:2: error: call to undeclared function 'futex'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] The futex() function is declared in /usr/include/x86_64-linux-gnu/urcu/futex.h It is not declared in linux/futex.h, so we need to include urcu/futex.h Mikulas Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-04-25Update bcachefs sources to fd6fb298aa bcachefs: Make sure hash info gets ↵Kent Overstreet
initialized in fsck Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-04-21Update bcachefs sources to 2115a2ffde bcachefs: Kill ↵Kent Overstreet
bch2_verify_bucket_evacuated()
2023-04-20Add a NO_RUST optionKent Overstreet
For systems without working rust/llvm/bindgen, add an option for building without Rust. This will be less of an option in the future, as more code gets rewritten in Rust. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-04-20Delete pytestKent Overstreet
These tests have never been useful; drop them. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2023-04-16Update bcachefs sources to fd381c355c bcachefs: Fix a null ptr deref in fsck ↵Kent Overstreet
check_extents()
2023-04-16Update bcachefs sources to 22ccceee15 bcachefs: Fix a slab-out-of-boundsKent Overstreet
2023-04-15Update bcachefs sources to 504729f99c bcachefs: Allow answering y or n to ↵Kent Overstreet
all fsck errors of given type Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-03-31Update bcachefs sources to 8fd009dd76 bcachefs: Rip out code for storing ↵v0.28Kent Overstreet
backpointers in alloc keys Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-03-19Fix build dependenciesKent Overstreet
Incremental builds are fast again Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-03-19Add packaging workflowAlexander Fougner
Package and publish deb+rpm for easy testing Signed-off-by: Alexander Fougner <fougner89@gmail.com>
2023-03-15Update bcachefs sources to 0342eebf85 bcachefs: Improve the backpointer to ↵Kent Overstreet
missing extent message
2023-03-14Update bcachefs sources to 72405e7ff8 bcachefs: Fix ↵Kent Overstreet
bch2_check_extents_to_backpointers()
2023-03-08Add manpage for mount commandAlexander Fougner
Signed-off-by: Alexander Fougner <fougner89@gmail.com>
2023-03-08Remove cmd_assemble docsAlexander Fougner
Signed-off-by: Alexander Fougner <fougner89@gmail.com>
2023-03-08linux shim: Fix dropped O_DIRECT flagKent Overstreet
A recent libbcachefs update accidentally committed a change that dropped the O_DIRECT flag - we definitely didn't want to do that. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-03-08add rpm make target and fix up spec fileEric Sandeen
Add a new make target to build an rpm. This uses rpmbuild --build-in-place, so no SRPM is created. Also clean up the specfile to remove manually-added Requires: that will be auto-generated, add a couple new BuildRequires: and use macros for file locations. Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
2023-03-07Update docsAlexander Fougner
- add some project info for the main readme - migrate readmes to markdown for improved formatting - The main binary now requires the Rust toolchain, so make note of it in the build instructions. Signed-off-by: Alexander Fougner <fougner89@gmail.com>
2023-03-06cmd_list.rs: Finish list modes, delete cmd_list.cKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-03-06Update bcachefs sources to 3856459b1b bcachefs: ↵Kent Overstreet
bch2_btree_iter_peek_node_and_restart() Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-03-05Add rust toolchain to debian build-depsAlexander Fougner
Fixes building the .deb - also add missing libudev to debian build deps Signed-off-by: Alexander Fougner <fougner89@gmail.com>
2023-03-04rust: Implement BtreeNodeIterKent Overstreet
This implements BtreeNodeIter, and adds it to cmd_list.rs - the next step in having a full replacement for cmd_list.c Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-03-04Update bcachefs sources to 171da96d76 bcachefs: Drop some anonymous structs, ↵Kent Overstreet
unions
2023-03-04rust: Fix ptr casting in Fs::open()Kent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-03-03Update bcachefs sources to 2272c5f5b7 bcachefs: Mark stripe buckets with ↵Kent Overstreet
correct data type
2023-03-02linux shim: hlist_unhashed()Kent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-03-02rust: BkeySC now has correct lifetime on BtreeIterKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-02-28rust: Filesystem options now supportedKent Overstreet
This implements opt_set!(), which works exactly the same as the C version and allows filesystem options to be specified in Rust code. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-02-28rust: BtreeTrans lifetime now marked w.r.t. FsKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-02-28rust: BkeyValCKent Overstreet
Now we have a rust-style enum for key types Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-02-28rust: BkeySCKent Overstreet
Implement a rust equivalent to bkey_s_c, which uses references with the correct lifetimes: now cmd_list.rs doesn't need unsafe. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-02-28bcachefs: Annotate BtreeIter with BtreeTrans lifetimeKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-02-28rust: Simplify bpos FromStrKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-02-27rust: BtreeIterFlagsKent Overstreet
This adds a new wrapper type for btree iterator flags. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-02-27Update bcachefs sources to a5da815430 bcachefs: Convert constants to constsKent Overstreet
2023-02-27Rust: Start of cmd_list rewriteKent Overstreet
This is a _very_ preliminary rewrite of the cmd_list tool in rust, which is intended to be a testing ground for a safe interface in Rust to the core btree interface. This adds rust wrappers for: bch_fs: provides bch2_fs_open(), bch2_fs_stop btree_trans: provides bch2_trans_init(), bch2_trans_exit() btree_iter: provides peek, peek_and_restart, advance bch_errcode: implements Display (wraps bch2_err_str()) bpos: implements Ord (wraps bpos_cmp()) bkey_s_c: implements Display (wraps bch2_bkey_val_to_text()) and other assorted types. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-02-27Update bcachefs sources to ca97ee3577 bcachefs: ↵Kent Overstreet
bch2_btree_iter_peek_and_restart_outlined() Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-02-27nix fix up! Rust now integrated into bcachefs binaryDaniel Hill
Heavily simplified to just call make with the required rust dependencies. Signed-off-by: Daniel Hill <daniel@gluo.nz>
2023-02-22Made the -k option for mount.bcachefs default to ask, without messing up ↵Westly Ward
formatting Signed-off-by: Westly Ward <sonicrules1234@gmail.com>
2023-02-21cmd_list_journal: Highlight entries matching transaction filterKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-02-21rust-src: Clean up read_super bindingsKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>