Project

General

Profile

Actions

Bug #66817

closed

Class-masked async discard configuration does not work in Reef+

Added by Joshua Baergen over 1 year ago. Updated 5 months ago.

Status:
Resolved
Priority:
Normal
Category:
-
Target version:
-
% Done:

0%

Source:
Backport:
reef, squid
Regression:
Yes
Severity:
2 - major
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(RADOS):
Pull request ID:
Tags (freeform):
backport_processed
Fixed In:
v19.3.0-3818-g0ab5214c94
Released In:
v20.2.0~2359
Upkeep Timestamp:
2025-11-01T01:33:04+00:00

Description

Ever since 755f3e03b5bf547cfd940b52a53833f66285062b, if bdev_enable_discard is enabled for a class of OSDs in config and bdev_async_discard=true/bdev_async_discard_threads>0, discards will be enabled for an OSD but synchronously, leading to unexpected large latency spikes in configurations that require async discards. This is because the starting of the discard thread(s) is evaluated before class masks can apply, and KernelDevice's handle_conf_change() doesn't watch for bdev_enable_discard changes.

I have a patch for this that applies to main, but reef/squid don't have bdev_async_discard_threads backported and thus will need an altered patch (or maybe they should get bdev_async_discard_threads for consistency). While fixing this issue, I also found and fix a number of issues with the stopping path for bdev_async_discard_threads.


Related issues 2 (0 open2 closed)

Copied to RADOS - Backport #67404: squid: Class-masked async discard configuration does not work in Reef+ResolvedYite GuActions
Copied to RADOS - Backport #67405: reef: Class-masked async discard configuration does not work in Reef+ResolvedYite GuActions
Actions #1

Updated by Joshua Baergen over 1 year ago

  • Pull request ID set to 58409
Actions #2

Updated by Joshua Baergen over 1 year ago

  • Status changed from New to Fix Under Review
Actions #3

Updated by Joshua Baergen over 1 year ago

  • Regression changed from No to Yes
Actions #4

Updated by Radoslaw Zarzynski over 1 year ago

scrub note: dispatched the review to the BlueStore Folks.

Actions #5

Updated by Radoslaw Zarzynski over 1 year ago

scrub note: just approved, awaits QA.

Actions #6

Updated by Laura Flores over 1 year ago

Actions #7

Updated by Laura Flores over 1 year ago

  • Status changed from Fix Under Review to Resolved
Actions #8

Updated by Yite Gu over 1 year ago

  • Backport set to reef, squid
Actions #9

Updated by Yite Gu over 1 year ago

  • Status changed from Resolved to Pending Backport
Actions #10

Updated by Yite Gu over 1 year ago

  • Copied to Backport #67404: squid: Class-masked async discard configuration does not work in Reef+ added
Actions #11

Updated by Yite Gu over 1 year ago

  • Copied to Backport #67405: reef: Class-masked async discard configuration does not work in Reef+ added
Actions #12

Updated by Yite Gu over 1 year ago

  • Tags (freeform) set to backport_processed
Actions #13

Updated by Igor Fedotov over 1 year ago

  • Status changed from Pending Backport to Resolved
Actions #14

Updated by Upkeep Bot 8 months ago

  • Merge Commit set to 0ab5214c94d24ba4c0231add2931c74300263af3
  • Fixed In set to v19.3.0-3818-g0ab5214c94d
  • Upkeep Timestamp set to 2025-07-10T23:09:03+00:00
Actions #15

Updated by Upkeep Bot 8 months ago

  • Fixed In changed from v19.3.0-3818-g0ab5214c94d to v19.3.0-3818-g0ab5214c94
  • Upkeep Timestamp changed from 2025-07-10T23:09:03+00:00 to 2025-07-14T22:42:26+00:00
Actions #16

Updated by Upkeep Bot 5 months ago

  • Released In set to v20.2.0~2359
  • Upkeep Timestamp changed from 2025-07-14T22:42:26+00:00 to 2025-11-01T01:33:04+00:00
Actions

Also available in: Atom PDF