Skip to content

[Veeam] Fix for dirty context not being returned on el9#13613

Merged
weizhouapache merged 1 commit into
apache:mainfrom
shapeblue:423-veeam-fix-dirty-context
Jul 14, 2026
Merged

[Veeam] Fix for dirty context not being returned on el9#13613
weizhouapache merged 1 commit into
apache:mainfrom
shapeblue:423-veeam-fix-dirty-context

Conversation

@nvazquez

Copy link
Copy Markdown
Contributor

Description

ibbnd > 1.19 supports block_status_64 command which returns (length, flag) tuples instead of a flat list returned by the block_status api supported by older libnbd versions.
The dirty extents were not ready correctly for the block_status_64 return and as a result image server always reported the whole image range as dirty.

This PR fixes by normalizing the value returned by both block_status and block_status_64. It also adds warning whenever there is an issue getting the dirty extents and the code falls back to returning the full range as dirty.

Types of changes

  • Breaking change (fix or feature that would cause existing functionality to change)
  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Enhancement (improves an existing feature and functionality)
  • Cleanup (Code refactoring and cleanup, that may add test cases)
  • Build/CI
  • Test (unit or integration test code)

Feature/Enhancement Scale or Bug Severity

Feature/Enhancement Scale

  • Major
  • Minor

Bug Severity

  • BLOCKER
  • Critical
  • Major
  • Minor
  • Trivial

Screenshots (if appropriate):

How Has This Been Tested?

How did you try to break this feature and the system with this change?

@nvazquez nvazquez added this to the 4.23.0 milestone Jul 14, 2026
@boring-cyborg boring-cyborg Bot added component:kvm Python Warning... Python code Ahead! labels Jul 14, 2026

@weizhouapache weizhouapache left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

code lgtm

@codecov

codecov Bot commented Jul 14, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 19.64%. Comparing base (0e43c6a) to head (72d8b8d).
⚠️ Report is 3 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff              @@
##               main   #13613      +/-   ##
============================================
+ Coverage     19.50%   19.64%   +0.14%     
- Complexity    19444    19786     +342     
============================================
  Files          6303     6368      +65     
  Lines        569286   575047    +5761     
  Branches      69791    70365     +574     
============================================
+ Hits         111040   112973    +1933     
- Misses       446093   449787    +3694     
- Partials      12153    12287     +134     
Flag Coverage Δ
uitests 3.41% <ø> (-0.01%) ⬇️
unittests 20.92% <ø> (+0.14%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@abh1sar

abh1sar commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

@abh1sar a [SL] Jenkins job has been kicked to build packages. It will be bundled with no SystemVM templates. I'll keep you posted as I make progress.

@blueorangutan

Copy link
Copy Markdown

Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 18566

@weizhouapache

Copy link
Copy Markdown
Member

merging based on approvals and manual test by @abh1sar

thanks @abh1sar @nvazquez

… flag) tuples instead of a flat list returned by the block_status api supported by older libnbd versions.

The dirty extents were not ready correctly for the block_status_64 return and as a result image server always reported the whole image range as dirty.

This commit fixes by normalizing the value returned by both block_status and block_status_64. It also adds warning whenever there is an issue getting the dirty extents and the code falls back to returning the full range as dirty.
@weizhouapache weizhouapache force-pushed the 423-veeam-fix-dirty-context branch from bfa3f56 to 72d8b8d Compare July 14, 2026 14:40
@weizhouapache weizhouapache merged commit a6b3128 into apache:main Jul 14, 2026
7 of 8 checks passed
@weizhouapache weizhouapache deleted the 423-veeam-fix-dirty-context branch July 14, 2026 14:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants