What ceph/ceph shipped
Generated by FoxPlug from public activity — not affiliated with Ceph.
Week of September 14, 2026
What shipped
- SimpleRADOSStriper now correctly captures asynchronous I/O errors by explicitly calling get_return_value() after wait_for_complete() instead of incorrectly assuming the wait function returns the operation status. Pull request #69195
- SimpleRADOSStriper fixed a resource leak in the shrink_alloc error path where un-awaited librados::AioCompletion objects were leaked when an AIO wait failed. Pull request #69197
- SimpleRADOSStriper corrected allocation growth calculation in set_metadata() to apply the base-2 rounding mask to the requested new_size instead of the old size. Pull request #69194
- OSD rep_repair_primary_object now handles balanced or localized reads sent to replicas that fail by having the replica fail the operation rather than asserting. Pull request #70909
- RocksDB submodule bumped from v7.10.2 to v9.11.2 with cmake requiring RocksDB 9.10 or later. Pull request #70807
- Crimson OSD now prevents write omap operations on pools that do not support omap, failing with -EOPNOTSUPP. Pull request #71874
- OSDMap::calc_pg_maps fixed upmap balancing to accept changes that do not decrease stddev and to properly value the deviation of small OSDs. Pull request #65191
- OSDC added minimum allowable split size for replica IOs to prevent issues with the prepare_single_op path. Pull request #69290
- MGR get_daemon_health_metrics() now properly takes DaemonState::lock when iterating over daemon health metrics. Pull request #71114
- DaemonServer::shutdown() fixed race conditions and resource leaks including ensuring the SafeTimer thread is properly joined before destruction. Pull request #71234
Why it matters
This week brings fixes for I/O error handling in RADOS striping, OSD replication and balancing, resource leaks in daemon shutdown, and RocksDB dependency updates. Several bugs affecting data consistency and system stability were addressed across core storage and management components.
Changelog entry
- SimpleRADOSStriper: retrieve AIO return values with get_return_value() Pull request #69195
- SimpleRADOSStriper: ensure all AIO completions are awaited in shrink_alloc error path Pull request #69197
- SimpleRADOSStriper: fix incorrect variable usage in allocation growth calculation Pull request #69194
- SimpleRADOSStriper: fix missing thread synchronization headers Pull request #69196
- OSD: rep_repair_primary_object now copes with balanced/localized reads Pull request #70909
- Crimson OSD: do not allow executing write omap operations on unsupported pools Pull request #71874
- OSDMap: fix balancing for upmap corner cases with stddev stalling Pull request #65191
- OSDC: add minimum allowable split size for replica IOs Pull request #69290
- RocksDB: bump version from v7.10.2 to v9.11.2 Pull request #70807
- MGR: take DaemonState lock in get_daemon_health_metrics() Pull request #71114
- DaemonServer: fix race conditions and resource leaks in shutdown() Pull request #71234
- Build: link cephfs-tool against Boost::program_options Pull request #71712
- MGR/crash: fix prune_detail() not actually pruning the list Pull request #71181
- Tracing: fix OSD segmentation faults by adding bluestore_tp to install list Pull request #69341
Week 40: SimpleRADOSStriper fixes for AIO error handling and resource leaks, OSD replication improvements, upmap balancing corrections, and RocksDB v9.11.2 integration.
This week's Ceph updates focus on reliability and resource management. Key fixes include SimpleRADOSStriper properly capturing asynchronous I/O errors and preventing resource leaks, OSD replication handling balanced reads on replicas correctly, and upmap balancing improvements. Infrastructure changes include RocksDB dependency bump to v9.11.2 and daemon shutdown race condition fixes.