Bcachefs tools 1.38.6 targets fsync stalls and expands device support
#Regulation

Bcachefs tools 1.38.6 targets fsync stalls and expands device support

Hardware Reporter
4 min read

Kent Overstreet released Bcachefs Tools 1.38.6 with a 255-device ceiling, Ubuntu 26.04 packages, and faster journal and btree paths for sync-heavy storage work.

{{IMAGE:2}}

Kent Overstreet released Bcachefs Tools 1.38.6 on June 17 with new scale limits, Ubuntu 26.04 LTS packages, and a performance pass across journal and btree code.

Users can now build one Bcachefs file system across as many as 255 storage devices. Overstreet said the release does not break the on-disk format, so testers can evaluate the new tools without a forced filesystem migration.

The release also adds Ubuntu 26.04 LTS packages through apt.bcachefs.org. That matters for homelab builders who want repeatable test hosts instead of hand-built user-space tools on each node.

Performance data

Overstreet pointed to profiling across workloads and benchmarks, with the largest changes aimed at lock contention. He did not publish headline throughput numbers in the announcement, so builders should treat 1.38.6 as a release that needs local fio, dbench, fsync, and metadata tests before production use.

Area Change Workload to test
Journal flush Developers made flushes lockless Multithreaded O_SYNC and fsync writes
Journal pins Developers added per-pin-list locks Sync-heavy write pressure
Journal FIFO Users can resize it at runtime Long sync bursts that throttle writes
Journal read Code finds recent entries with binary search Mount, recovery, and large-journal scans
Btree iterator Developers cut instruction-cache pressure Metadata-heavy creates, deletes, and stats
Btree sharding Code shards inode allocations by process ID High-client dbench runs
Write-buffer flush Developers reduced stalls from lock inversion Mixed metadata and write workloads

The journal work gives the clearest test target. If your workload opens many files with O_SYNC, calls fsync from several threads, or runs databases that force durable writes, 1.38.6 should reduce time spent waiting on shared journal locks. A good fio run should include multiple jobs, direct sync writes, and latency percentiles, not throughput alone.

The btree changes target metadata paths. Bcachefs depends on btrees for filesystem metadata, so lock contention and instruction-cache pressure can show up as slow file creation, directory walks, snapshot work, or client-count scaling. Overstreet said high-client dbench runs benefited from the sharding changes, which gives testers a concrete workload to reproduce.

Power and thermals

Overstreet did not publish power data. Storage builders should measure it because lock contention can waste CPU cycles under sync-heavy pressure. A useful test pairs wall power with latency: run the same fsync workload on 1.38.5 and 1.38.6, record package power, and compare p99 latency against joules per completed operation.

NVMe-heavy systems may show the clearest difference. If the CPU spends less time fighting locks, drives can finish bursts sooner, and the host may return to idle sooner. SATA arrays may show smaller gains because device latency can dominate the profile.

Compatibility

The release keeps the on-disk format stable. That gives current testers a cleaner upgrade path than a format-breaking release would allow.

Ubuntu 26.04 LTS packages lower the setup cost for new test machines. Builders who track long-term-support hosts can add the Bcachefs APT source, pin versions across nodes, and repeat benchmark runs with less local build variance.

Linux kernel compatibility still matters. Bcachefs kernel support, distribution kernel choices, and DKMS packaging can affect the test matrix. Builders should pair the 1.38.6 user-space tools with the kernel they plan to run, then verify mount, scrub, repair, snapshot, and recovery commands before storing data they care about.

Twitter image

Build recommendations

Use 1.38.6 first on a scratch array or replicated test dataset. The 255-device limit makes the release more relevant for large JBOD boxes, but larger pools also amplify repair time, telemetry gaps, and operator error.

For a homelab benchmark pass, run two test groups. First, use fio with sync writes, mixed block sizes, and enough jobs to create journal pressure. Second, use dbench or a file-create workload to stress metadata paths. Capture throughput, p50 latency, p99 latency, CPU package power, and kernel logs.

Builders comparing Bcachefs with Btrfs, XFS, and ext4 should retest on the same kernel generation. Phoronix noted that other filesystem changes, including Btrfs large folios by default and Linux 7.2-era filesystem work, can change the baseline. A cross-filesystem chart only helps if each filesystem runs on the same host, kernel, drives, and mount policy.

Bcachefs Tools 1.38.6 looks like a practical release for testers who care about sync-write latency and metadata scaling. The new device ceiling expands the lab target, while the lock-contention work gives benchmarkers several clear paths to measure.

Comments

Loading comments...