------------------------------------------------------------------- Sun Apr 19 23:58:40 UTC 2026 - Holden Fried - Update to release v1.38.0: bcachefs_metadata_version_need_discard_by_journal_seq: - The `need_discard` btree (tracking buckets pending discard) is now indexed by journal sequence number instead of device/bucket. This reshapes how the allocator cooperates with the discard worker. - Fixes allocator-stuck-on-mount regressions (#1105, #1108). Previously, mounting a filesystem whose metadata devices had very few free buckets could stall during journal replay — the allocator and discard worker couldn't make progress past each other. The new layout breaks that deadlock. - Much faster sustained discard throughput. The discard worker now iterates the need_discard btree in seq order directly, rather than scanning the full set each pass. Noticeable on write-heavy workloads, particularly on larger filesystems. IMPORTANT NOTE: - Upgrade is automatic on mount. Downgrade to a pre-1.38 version requires offline downgrade tooling (existing format supports this). Journal pipelining: - Previously we were limited to 16 in flight journal writes at a time, but for large arrays this had become a severe bottleneck. We now have a separate fifo for in flight journal writes; we currently allocate 256 entries, and if that limit is ever hit it's now trivial to make growable at runtime. Faster snapshot_read at mount time: - Users with large numbers of snapshots should notice dramatically faster mount times; an accidental O(n^2) from incorrectly growing the in-memory snapshot table has been fixed. Bug fixes: - `bcachefs format` no longer misdetects SSDs as rotational when given a partition (#554). If you created a filesystem on a partition (e.g. `/dev/nvme0n1p3`) with 1.37.5, the rotational flag may have been set to 1 incorrectly; re-check with `show-super` and adjust if needed. New filesystems are correct. - Fix reconcile spinning forever on encrypted filesystems with nocow enabled. These options are not compatible — encryption falls back to COW automatically now. Documented in the man page. - Fix `bcachefs migrate` failing on some devices due to O_DIRECT alignment issues. - The stripe repair path now correctly handles full stripes with a block on a device that has been force removed and need to be shrunk - instead of spinning when it picked the block on the force-removed device to evacuate. Tools: - `bcachefs dump sanitize` output is now correct (was inverted for certain key formats). - `list_journal -k` now correctly handles multiple ranges with per-range signs. - GPG signing key for `apt.bcachefs.org` is now published directly at that URL. (Note: Debian third-party-repo policy issue flagged in #555 is not yet resolved; will address in a follow-up.) - Documentation for nocow+encryption interaction. Documentation: - The principles of operations continues to grow; it now has more extensive documentation on btree internals and architecture, from folding in and updating documentation that was previously on the wiki. ------------------------------------------------------------------- Thu Apr 9 00:12:01 UTC 2026 - Holden Fried - Update to release v1.37.5: New features: - Offline device add: `bcachefs device add` now works without the filesystem mounted, discovering member devices automatically - Show device serial numbers in `show-super` output Bug fixes: - Fix fd leak in format() - Fix sticky device options not carrying across subsequent devices during format - Fix super_io write path (two fixes from intelfx) - DKMS: add linux-headers virtual package fallback (#540) Rust migration: - Replace C `struct dev_opts` with Rust `DevOpts` type - Safe typed field API for superblock access - Safe wrappers for opts, dev_opts, opt_set_by_id, bch_opt_strs - Move get_size, get_blocksize, fd_to_dev_model from C to Rust - Add nonrot() Rust wrapper, replace C bdev_nonrot - Safe error string access via errcode msg() method - Remove unnecessary extern "C" from Rust-only functions Kernel source updates: - Fix handling of stripe_buf limits (#1096, #1098) - Fix bad return code from stripe_reuse() - Fix str_hash repair silently failing when insert finds duplicate - Fix rename computing wrong hash with casefolding - Reconcile: mark ec_alloc_failed extents as pending - Preserve pre-recovery journal keys across journal_keys_sort - Record device serial number in superblock - Print write buffer state in journal stuck diagnostic - Improved allocator error matching in foreground.c - write_op_to_text(): include open_buckets ------------------------------------------------------------------- Fri Apr 3 14:47:02 UTC 2026 - Holden Fried - Update to release v1.37.4: New commands: - `bcachefs data-read`: O_DIRECT read via BCHFS_IOC_PREAD_RAW with extended error reporting (checksum, IO, decompression, and EC errors). Supports `--no-poison-check` for reading poisoned extents. - `bcachefs unpoison`: Clear poison flags on file extents. Bug fixes: - Fix shell completion generation panic - Fix group subcommand dispatch off-by-one Tools improvements: - Migrated to clap derive for subcommand dispatch with typed Cli structs - Enabled clap suggestions and color help, stripped debuginfo from release builds Kernel source updates: - Fix segfault in bch2_stripe_new_buckets_del() - Fix reconcile checksum rewrite skipping cached pointers - Fix use-after-free in ec_block_endio() - Fix cached pointer handling in data update - Fix init_new_stripe_from_old() copying parity blocks - Fix torn write of path->l[0].b in btree_path_copy() - Fix linking error on i586 - BCH_SB_MEMBER_INVALID pointers don't count as written or unwritten - Don't add cached pointer devices to devs_have - Don't reuse stripes when live data would overflow into parity - Detect and repair non-zero parity blockcounts - Plumb EC reconstruct messages to read path - Add BCHFS_IOC_PREAD_RAW and BCHFS_IOC_UNPOISON ioctls - Read path error reporting infrastructure - Don't start reconcile unless we're really going rw - Add timestats for btree node/key cache shrinkers - Improve bch2_bio_to_text(), include bio on BLK_STS_INVAL read errors - Improve error message when autofix blocked by errors policy - Automatically advance rewind_seq when journal_rewind_discard_buffer_percent=0 Package CI: - Publish to release suite for tagged commits - Atomic publish via staging directory + rsync (fixes apt hash mismatch, #543) ------------------------------------------------------------------- Fri Mar 20 21:58:11 UTC 2026 - Holden Fried - Update to release v1.37.3: New option: opts.journal_rewind_discard_buffer_percent - This allows the size of the discard buffer for journal rewind to be adjusted - tiering setups with significantly mismatched device sizes will want to turn this down, or off. - Ensure we don't accidentally create cached erasure coded pointers, which aren't supported yet - Fix buffer overflows when padding extents with `BCH_SB_MEBER_INVALID` pointers - Fix a spurious -EAGAIN in the write path - Fix a few bugs on 32bit x86 - Fix ppc64le build failures ------------------------------------------------------------------- Tue Mar 17 14:33:07 UTC 2026 - Holden Fried - Update to release v1.37.2: * Bugfix release - fix an oops in mount from incorrect zeroing of bch_btree_ptr_v2.mem_ptr, and a stripe repair assert. ------------------------------------------------------------------- Mon Mar 16 15:12:14 UTC 2026 - Holden Fried - Update to release v1.37.1: * Bugfix release - fix compatibility issues with bch_sb_field_ext options. ------------------------------------------------------------------- Mon Mar 16 03:51:37 UTC 2026 - Holden Fried - Update to release v1.37.0 bcachefs_metadata_version_erasure_coding Highlights: - Erasure coding is no longer experimental; all the core functionality is complete. - Major update to the Principles of Operation - abbreviated PoO, or simply poo; instead of "RTFM", you may now say "Have you checked your poo?".It's now at 100 pages, organized into introductory, feature overview and subsystem reference sections, and should be thoroughly comprehensive. - New subcommands (subvolume list, list-snapshots, reflink-option-propagate) - Journal rewind is now fully safe to use (the filesystem tracks how far back we can safely rewind) - Automatic recovery from devices with bad flush/fua support - Faster recovery from unclean shutdowns - Better perforance on multidevice filesystems: saner defaults for buffered readahead, controllable by the new dev_readahead option. - Linux 7.0 support Erasure coding - Erasure coding is now hooked up to reconcile: degraded stripes are now automatically repaired, like other degraded data, and can be reshaped as needed. Tiering setups, and setups with mixed device sizes should work - erasure coding will create the biggest stripes possible. - Erasure coding is no longer hidden behind CONFIG_BCACHEFS_ERASURE_CODING, but one significant item is still remaining - stripe allocation needs to allocate blocks on different devices at similar LBAs, to avoid seeking when resilvering an array. This should land in 1.38. Subcommands - subvolume list ( bcachefs subvolume ls ): List subvolumes with filtering and sorting. Uses userspace ioctl helpers for batch queries. - subvolume list-snapshots ( bcachefs subvolume ls-snap ): List snapshots as a tree with disk usage information. - reflink-option-propagate : Propagates a file's IO options (compression, checksum, replicas, targets) to its extents, including reflinked extents. Respects a new per-pointer permission flag ( MAY_UPDATE_OPTIONS ) to prevent unprivileged users from altering shared data they don't own. - fs top TUI mode: fs top and reconcile wait now use the alternate screen for a proper terminal UI experience; fs top also shows per-device stats. - Elastic tabstops: Tabular output (fs usage, show-super, etc.) now uses elastic tabstop alignment for cleaner, consistently aligned columns. Journal rewind, automatic recovery from bad flush/fua: - We now buffer discards, up to a small percentage of the device size, and track in the journal how far back we can safely rewind (i.e. which old buckets have not been discarded yet). Rewind is also now transactionally consistent - if we crash mid rewind, we remember the previous in-progress rewind. - The new scrub_recent_journal_entries , enabled by default after unclean shutdowns, runs a targeted scrub during recovery on the data that was written and committed just before crash or shutdown. On checksum error, indicating the data wasn't actually written, an immediate repair will be queued up (on replicated filesystems) - or if the data is not recoverable we'll automatically rewind to the last good state. By default, we won't rewind more than 10 seconds, controlled by the scrub_journal_max_rewind_secs option. Bug fixes - Fix stdout buffering when piped (output now flushed properly) - Fix utilization percentage in fs usage to use bucket counts - Fix copy_fs write truncation - Fix readlink c_char portability for arm64/ppc64el - Fix format to create sb_field_ext before setting options - Fix docgen command ordering - Fix escape_latex mangling -- flags as en-dashes - Device evacuate: check filesystem version before starting Build system - Package CI: cached build environments, cross-compilation fixes, 2-hour build timeout, architecture documentation - Exclude debian/ from C source discovery in Makefile - Remove GitHub Actions build workflow (migrated to package-ci) Rust conversion progress - The userspace component of bcachefs has now been converted to Rust. Among other things, this means we finally have bash autocompletions available, courtesy of Clap. - Cleanup work is still ongoing - unsafe reduction, "Rusty" APIs to replace C style ones. This is the test and staging ground for conversion of the kernel side code to Rust, which will start happening as soon as Rust support is sufficiently widespread in distro kernels. - This also enables formal verification, in Verus - work here has already started, with proofs for eytzinger tree operations (search, inorder traversal, roundtrip bijection), snapshot skiplist construction, snapshot tree invariants, and extent overwrite conservation. 124+ verified properties. ------------------------------------------------------------------- Sat Feb 7 21:14:00 UTC 2026 - Holden Fried - Update to release v1.36.1 * Interactive TUI for monitoring various filesystem internals, slowpaths and device performance, with duration and frequency tracking for various events. Helpful for diagnosing performance issues. * `encoded_extent_max` default bumped to 256k; new filesystems now initialize `BCH_SB_EXTENT_BP_SHIFT` to 16, so higher settings won't require rebuilding backpointers * `--rotational` flag now works correctly during format * Copygc now waits until a device is less than 20% free before starting * Improved `bcachefs reconcile status` output * Large batch of erasure coding cleanup and hardening: better error reporting for EC reconstruct reads, fix a race between EC and data moves, and various other EC bugfixes * Fix write buffer `move_keys_from_inc_to_flushing()` regression, which was causing occasional oopses under load for some users * Snapshot deletion is now much faster when deleting large numbers of snapshos; we now use an eytzinger tree for the list of nodes being deleted * Fix sporadic superblock checksum failures during device scan * Many smaller bugfixes - Update to release v1.36.0 * bcachefs_metadata_version_no_sb_user_data_replicas * This requires an incompatible upgrade to enable, and once enabled we'll no longer store replicas entries in the superblock for user data, which are used for deciding whether we an do a degraded mount without data loss - instead, we defer that and use the accounting btree to check, in early recovery. * This is a performance/scalability fix: on filesystems with large numbers of drives (a 50 device filesystem was the original bug report), the superblock writes needed to add and delete replicas entries become a bottleneck. * Replicas entries for metadata (btree and journal) can still be an issue, and another bug report indicated that these will have to be addressed soon - a single slow (or dying) device in a large multidevice will cause all superblock writes to slow to a degree that can cause major problems. Metadata replicas entries will however require a different approach to solve, so expect that in a future update. * Some fairly involved fixes for the data update path: it turns out, the data update path was dropping replicas to devices being evacuated (which are considered to have durability of 0) before the extent was sufficiently replicated on other devices. This caused data loss for a few users, unfortunately, but the new code is much more rigorous when reconciling the exsiting extent with newly written replicas and deciding which replicas to keep and which can be dropped. * Fix various codepaths that were (incorrectly) causing the filesystem to go emergency read-only when finding a pointer to an invalid device, instead of continuing so it could be repaired or flagging the filesystem as needing repair. We now should only go emergency read-only on pointer to invalid device when that would indicate a runtime bug, not filesystem corruption. * Reconcile will now shut down correctly (when the filesystem is going read-only or unmounting) when processing the reconcile_*_phys btrees. * Multiple other smaller reconcile fixes; various users report that issues where reconcile did not seem to be finding pending work seem to be resolved. * Degraded btree nodes are no longer un-degraded synchronously; now that we have reconcile this is no longer necessary, and forcing them to be un-degraded synchronously was prone to causing deadlocks on open_bucket allocation. * The 'allocator stuck' log message now provides improved information, and internally has been re-plumbed to have access to the original 'struct alloc_request', so if necessary for future debugging we can easily provide as much information about how the allocation was attempted as required. ------------------------------------------------------------------- Sun Jan 25 21:16:08 UTC 2026 - Holden Fried - Update to release 1.35.2 * Linux v6.19 is now supported * Reconcile now considers the amount of durability we have available among online devices when dropping extra replicas (because the replicas setting was changed), and won't let the online durability go below the replicas setting. * Fix a race in the nocow write path when checking if we need to fall back to a normal COW write * Fix a livelock when walking btree roots in reconcile and elsewhere * Journal discards are now done asynchronously instead of being done by the journal reclaim thread, and we try to keep more of the journal discarded to avoid journal writes having to block and do discards synchronously * Fix several bugs with copygc <-> reconcile interaction, and copygc should no longer spin when a device is completely full with no fragmented buckets for it to evacuate. * Fix propagating the incompressible bit in the data update path: sometimes this would be lost, leading to spurious "extent with bad/missing reconcile options" errors. - Update to release 1.35.1 * Self healing for the new stripe refcount field in `bch_alloc_v4` * This fixes issues upgrading to 1.35 with (still experimental) erasure coding feature. * Major allocator refactoring, simplifying the central control flow. Prep work for failure domains. * Erasure coding can now delete stripes from triggers; this gives better behaviour when data being deleted with no other activity to cause stripes to be deleted. * Fix a deadlock in device add when allocating journal on the new device; this fixes a regression from the watermark cleanup. ------------------------------------------------------------------- Tue Jan 13 19:52:59 UTC 2026 - Jan Engelhardt - Update to release 1.35.0 * The requirement that devices must have matched bucket sizes to be members of the same stripes has been removed. * Stripes may be reshaped (number of blocks increased or decreased), as needed; this improves EC's handling of device failures. * Significantly improved evacuate, rereplicate performance on rotating disks: we now launch one thread per device being read from (i.e. every device that shared data with the device going away); each device is read from in parallel with reads across the whole device done in sorted order. * `backpointer_scan_iter`, for improved performance for code doing backpointer -> extent walks, including but not limited to reconcile; this is quite significant on systems with metadata on rotating disk and relatively limited memory. * The bug with reconcile where btree roots wouldn't be processed has been fixed. * A few bugs with reconcile's handling of cached data have been fixed. * The reconcile tracepoints, especially `reconcile_set_pending`, now give significantly more information. * Reconcile now knows how to wait on copygc when a device it wants to write to is full, rather than (incorrectly) marking the extent as pending. * Fixed several memory reclaim recursion bugs; performance under memory pressure should be improved. * Various allocation watermark fixes; btree updates now only run with high priority watermarks when necessary. This fixes some allocator deadlocks on open bucket allocation. * 'encoded_extent_max` settings of 1MB and greater now work properly; previously, this could cause backpointer issues if compression was enabled. ------------------------------------------------------------------- Fri Jan 9 15:06:44 UTC 2026 - Jan Engelhardt - Update to release 1.34.0 * `KEY_TYPE_error` keys new include a field that indicates the reason and codepath they were created. * We now run `check_snapshots` before deleting interior snapshot nodes, after observing a bug where bad skiplist entries were created due to prior corruption of the snapshot depth field. * The compression code now always bounces the source buffer if it may have been mapped to userspace; this should solve reports of corruption with zstd. * `str_hash` (dirents and xattrs) repair now handles keys in different snapshots correctly. ------------------------------------------------------------------- Thu Dec 25 23:04:13 UTC 2025 - Jan Engelhardt - Update to release 1.33.4 * Fix a bug with interior snapshot node deletion that could manifest as fs corruption that would disappear on the next remount. * New mode for verifying the result of data compression before writing compressed data out to disk (``verify_compress``). * Reconcile no longer runs when the filesystem is mounted read only. ------------------------------------------------------------------- Tue Dec 23 17:11:23 UTC 2025 - Holden Fried - Update to release 1.33.3 * More snapshot deletion fixes, old interior snapshot nodes should finally be getting cleaned up correctly * We now run ``check_snapshots`` on every mount; there have been some bugs which result in snapshot tree corruption in the depth/skiplist fields, breaking ``snapshot_is_ancestor()``. We can't efficiently detect this kind of corruption at runtime, but ``check_snapshots`` is no more expensive than ``read_snapshots``; if we still have bugs in snapshot deletion, this will render them harmless. * Some obscure repair paths are now more robust - str_hash mismatch repair, inode reconstruction. * Btree node rewrites no longer run at ``BCH_WATERMARK_btree`` by default; this should solve some deadlocks that started happening when reconcile started moving around a lot more btree nodes. * When we get a ZSTD decompression error, the specific error code from zstd will now be reported in the error message. ------------------------------------------------------------------- Fri Dec 19 21:28:19 UTC 2025 - Holden Fried - Update to release 1.33.2 * Fix multiple bugs involving deleting interior snapshot nodes * Fix an assertion pop caused by leftover rebalance scan cookies, from pre-1.33.0 * Fix mmap-involved page cache inconsistency/corruption, users generally noticed this as files that seemed to be corrupted by the cp afterwards * Fix a topology inconsistency caused by a transaction commit merging a node we were updating a key for in the same transaction; we now have stricter topology checks * Online fsck now understands ``-o recovery_passes`` * Copygc (and elsewhere) now correctly uses the 'fragmented' counter under `dev_data_type` accounting; intricacies of compressed data accounting mean that ``buckets * bucket_size - sectors`` does not work for this, and may underflow. * New recovery pass: ``kill_i_generation_keys``. Modern filesystems do not use ``KEY_TYPE_i_generation`` for implementing NFS inode generation numbers, and old filesystems may have significant amounts of wasted space in the inodes btree from these. Must be run manually, and can be run online. * Subvolumes and snapshot trees are now viewable in debugfs, along with the per-snapshot accounting. These should be considered prototype interfaces, to give users something to look at and comment on before the real interfaces are designed. * Snapshot accounting is no longer kept in-memory; this fixes slow ``accouting_read`` on filesystems with huge numbers of snapshots. ------------------------------------------------------------------- Mon Dec 15 16:57:51 UTC 2025 - Holden Fried - Update to release 1.33.1 * Recovery passes will now be run in the background when possible * When a scheduled recovery pass and all scheduled passes that depend on it can be run online, we'll now run it in the background instead of blocking mount. This means that upgrades to 1.33 from previous versions will now happen in the background. * We now avoid blocking on memory reclaim when allocating btree node buffers; it was discovered that under memory pressure it can take > 10 seconds to satisfy a single allocation due to compaction. We'll now fall back to vmalloc much quicker.This should help with the SRCU lock hold time warnings that have still been popping up. * There's a new btree node cache statistic to track the number of vmalloc allocations; if we notice that this is now too high we may want to add a background task to allocate physically contiguous buffers to replace the vmalloc allocations (vmalloc memory is a bit slower than physically contiguous memory). * Fix a "pending incorrectly set" ERO * Fix checking for device rebalance scan cookies, this will eliminate some spurious "extent with incorrect/missing reconcile opts" errors. * Snapshot deletion fixes; when multiple leaves were being deleted simultaneously and interior nodes needed to be deleted too, the interior nodes often wouldn't get cleaned up - and in rare situations keys could get moved to the incorrect snapshot node, due to a DFS iteration bug. ------------------------------------------------------------------- Fri Dec 5 23:11:05 UTC 2025 - Holden Fried - Update to release 1.33.0 * ``bcachefs_metadata_version_reconcile``, formerly known as ``rebalance_v2``, is now available, and requires an incompatible format upgrade to enable. * Reconcile/Rebalance now handles all IO path operations (rather than just the background target & compression options), as well as metadata. * Reconcile reacts to option changes and device setting changes, immediately rereplicating degraded data or metadata. This obsoletes the commands ``data rereplicate``, ``data job drop_extra_replicas``, and others; the new commands are ``reconcile status`` and ``reconcile wait``. * The filesystem now track whether a disk is rotational or not, but this currently cannot be changed once set. * Degraded data is now always properly reported as degraded (by ``bcachefs fs usage`)`. ------------------------------------------------------------------- Sun Nov 16 19:36:29 UTC 2025 - Holden Fried - Update to release 1.32.1 * Update bcachefs sources to 99a43760af01 bcachefs: ret_fsck_err() * Update bcachefs sources to f4a2c8cad65c bcachefs: print NO_KEYS in snapshot_to_text() ------------------------------------------------------------------- Sun Nov 9 17:39:05 UTC 2025 - Holden Fried - Update to release 1.32.0 * bcachefs: vendorize bio_iov_iter_get_pages() * bcachefs: BCH_ERR_unaligned_io * bcachefs: Don't bail out of check_inode() if check_has_case_sensitive() fails * udev rules: Add per-member links in /dev/disk/by-uuid * A number of documentation updates including: * Added Documentation about how to add Device Labels * Clarified how to remove offline devices * Added data scrub documentation * Added set-fs-option as an alternative for sysfs option * Added casefold_disabled option Documentation, not sure if able to be set other than on mount * bcachefs: don't BUG() if using the btree before initialized * bcachefs: Restrict output size of bch2_snapshot_delete_nodes_to_text() * cmd_fs_top: Fix replication display for erasure coded data ------------------------------------------------------------------- Wed Oct 29 16:49:54 UTC 2025 - Jan Engelhardt - Update to release 1.31.12 * kmp: don't log duplicate errors in read path * format: Don't format with a version higher than supported by tools * kmp: track whether new btree nodes are roots ------------------------------------------------------------------- Fri Oct 17 12:12:59 UTC 2025 - Jan Engelhardt - Update to release 1.31.11 * No changelog was provided ------------------------------------------------------------------- Tue Oct 7 10:32:27 UTC 2025 - Jan Engelhardt - Update to release 1.31.7 * mount: for when a passphrase is needed, try systemd-ask-password when stdin is /dev/null * mount: pass --keyname and --accept-cached to systemd-ask-password * bcachefs: Fix double-free of journal_keys key * bcachefs: Fix promote path nocow deadlock * bcachefs: Add time_stats for btree write buffer flush ------------------------------------------------------------------- Tue Sep 23 13:09:54 UTC 2025 - Jan Engelhardt - Update to release 1.31.1 * Enforce a soft minimum limit of 64k for bucket size * Add v2 ioctls that return error strings * Commands called with no arguments now print usage * scrub: Return code now indicates corrected/uncorrected errors ------------------------------------------------------------------- Fri Aug 29 13:13:02 UTC 2025 - Petr Vorel - Update to release 1.25.3 * New commands: `bcachefs image create` and `bcachefs image update` ------------------------------------------------------------------- Thu May 29 21:41:18 UTC 2025 - Jan Engelhardt - Update to release 1.25.2 [boo#1243231] * No changelog was provided ------------------------------------------------------------------- Thu Feb 6 09:36:16 UTC 2025 - Petr Vorel - Update to 1.20.0: * bcachefs fs top - show runtime performance information * various fixes ------------------------------------------------------------------- Wed Dec 18 18:33:29 UTC 2024 - Richard Rahl - update to 1.13.0: * posix_to_bcachefs: fix missing copy_xattrs() error checking * Change lingering set-option texts to set-fs-option * change setattr to set-file-option in docs/usage - update to 1.11.1: * bch_bindgen: Remove memoffset dep * cmd_list: open with noexcl * fuse: graceful shutdown when startup fails ------------------------------------------------------------------- Sun Aug 18 23:46:46 UTC 2024 - Jan Engelhardt - Update to release 1.11.0 * mount: Fix UAF in option string handling * mount: Support asking for password via systemd-ask-password - Fix a crash in mkfs.bcachefs by disabling LTO. ------------------------------------------------------------------- Mon Jul 22 09:06:43 UTC 2024 - David Disseldorp - Update to release v1.9.4 * No longer logging by default * Fix undefined behavour ------------------------------------------------------------------- Fri Jul 12 19:00:39 UTC 2024 - David Disseldorp - Update to release v1.9.3 * Fix 32-bit builds further ------------------------------------------------------------------- Tue Jul 2 11:11:19 UTC 2024 - David Disseldorp - Update to release v1.9.2 * Fix fsck: Revert OPT_MOUNT change for read_only and make it OPT_HIDDEN - Remove upstreamed patch * 0001-key-use-c_long-type-for-keyctl_search-helper-fn.patch ------------------------------------------------------------------- Thu Jun 20 00:45:20 UTC 2024 - David Disseldorp - Update to release v1.9.1 * disk_accounting_v2: report on compression type/ratio, btree usage, and pending rebalance work. - Fix 32-bit builds * add 0001-key-use-c_long-type-for-keyctl_search-helper-fn.patch ------------------------------------------------------------------- Wed Jun 19 19:55:02 UTC 2024 - Joshua Smith - Update to release v1.9.1: * improve editorconfig to include sh scripts * fix: remove newlines from passphrase * fix: search for key in all keyrings - Updates from release v1.9.0: * add BCACHEFS_BLOCK_SCAN environment variable for users that * add BCACHEFS_KERNEL_ONLY environment variable for test bcachefs, utilize it. Otherwise, resort to traversing block devices and checking for bcachefs super blocks. environments * Handle mount with FS with 1 device have a broken blkid which renders the udev db as incomplete * manpage: incorrect "delete" to "snapshot" * mount: If the udev database contains information about * mount: Make udev_bcachefs_info more idiomatic * fix typo that causes encrypted drives to become stuck in a busy loop * check_for_key before ask_for_passphrase -- check if there is already a key in the keyring available before trying to get the key from some more involved means ------------------------------------------------------------------- Thu Apr 18 00:07:11 UTC 2024 - David Disseldorp - Update to release v1.7.0 * New on disk forat feature - per member 64-bit bitmap of regions with btree nodes, to accelerate recovering by scanning for btree nodes. * mount: canonicalize device path for single device node * Topology repair now uses nodes found by scanning to fill holes * mount: Handle multi-device with 1 device node ------------------------------------------------------------------- Mon Mar 4 01:54:50 UTC 2024 - David Disseldorp - Update to release v1.6.4 * fix build on powerpc * drop upstream rust-use-libc-Ioctl-type-for-ioctl-request-argument.patch ------------------------------------------------------------------- Thu Feb 22 06:23:25 UTC 2024 - David Disseldorp - Fix 32-bit builds [boo#1220175] * add rust-use-libc-Ioctl-type-for-ioctl-request-argument.patch ------------------------------------------------------------------- Wed Feb 21 04:55:00 UTC 2024 - David Disseldorp - Update to release v1.6.3 * use the kernel fsck implementation if the kernel version is a better match for the filesystem on disk than the -tools version * fix building with old gcc * fix big endian build * collect kernel fsck return code * various other fixes ------------------------------------------------------------------- Mon Jan 29 06:55:58 UTC 2024 - David Disseldorp - Build with rust functionality enabled [boo#1219158] * Switch to upstream vendored source tarball * Validate upstream source signature ------------------------------------------------------------------- Sat Jan 27 09:49:49 UTC 2024 - Jan Engelhardt - Rectify paths in systemd unit files [boo#1218808] ------------------------------------------------------------------- Fri Jan 19 01:54:34 UTC 2024 - Joshua Smith - Delete use_libexec_not_lib.patch (merged) - Update to release v1.4.1 * fix cmd_fsck, "bad mount option read-only" * now open block devices with O_EXCL ------------------------------------------------------------------- Tue Jan 9 03:46:53 UTC 2024 - Joshua Smith - Add use_libexec_not_lib.patch - Update to v1.4.0: * bugfix release * Split brain detection * BCH_IOCTL_OFFLINE_FSCK, and numerous other features and bugfixes. ------------------------------------------------------------------- Sun Dec 3 02:10:44 UTC 2023 - Joshua Smith - Update to v1.3.5: * Update from latest kernel bcachefs sources, pulling in fixes for deleted_inodes btree in particular * cmd_version now works properly * fixes for cmd_format, pick the same bucket size for all devices for the sake of erasure coding * rebalance_work point release * Fix race in closure_sync() * Updated bcachefs sources because bcachefs_metadata_version_deleted_inodes * Snapshot depth, skiplist fields * Updated bcachefs sources because bcachefs_metadata_version_major_minor * Fix quotas + snapshots * Rip out code for storing backpointers in alloc keys * Fragmentation LRU * Rework LRU btree ------------------------------------------------------------------- Tue May 30 08:19:24 UTC 2023 - Jan Engelhardt - Initial package (version 24) for build.opensuse.org