Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

os/BlueStore: NCB fix for SimpleBitmap boundary check #45733

Merged
merged 1 commit into from Apr 4, 2022

Conversation

benhanokh
Copy link
Contributor

@benhanokh benhanokh commented Mar 31, 2022

The boundary check in SimpleBitmap is off by one causing an assert to trigger
Fixes: https://tracker.ceph.com/issues/55145
Signed-off-by: Gabriel BenHanokh gbenhano@redhat.com

Checklist

  • Tracker (select at least one)
    • References tracker ticket
    • Very recent bug; references commit where it was introduced
    • New feature (ticket optional)
    • Doc update (no ticket needed)
    • Code cleanup (no ticket needed)
  • Component impact
    • Affects Dashboard, opened tracker ticket
    • Affects Orchestrator, opened tracker ticket
    • No impact that needs to be tracked
  • Documentation (select at least one)
    • Updates relevant documentation
    • No doc update is appropriate
  • Tests (select at least one)
Show available Jenkins commands
  • jenkins retest this please
  • jenkins test classic perf
  • jenkins test crimson perf
  • jenkins test signed
  • jenkins test make check
  • jenkins test make check arm64
  • jenkins test submodules
  • jenkins test dashboard
  • jenkins test dashboard cephadm
  • jenkins test api
  • jenkins test docs
  • jenkins render docs
  • jenkins test ceph-volume all
  • jenkins test ceph-volume tox
  • jenkins test windows

@benhanokh benhanokh added bluestore needs-quincy-backport backport required for quincy labels Mar 31, 2022
@benhanokh benhanokh requested a review from aclamk March 31, 2022 11:56
@benhanokh benhanokh self-assigned this Mar 31, 2022
The boundary check in SimpleBitmap is off by one causing an assert to trigger
Also fixed a bug when asking for the next clear_extent on a unaligned map when the last bits in the map were set.
Adding unit-tests
Fixes: https://tracker.ceph.com/issues/55145
Signed-off-by: Gabriel BenHanokh <gbenhano@redhat.com>
SimpleBitmap sbmap(g_ceph_context, bit_count);

sbmap.set(0, bit_count);
ASSERT_TRUE(sbmap.get_next_set_extent(0) == full_extent);
Copy link
Contributor

Choose a reason for hiding this comment

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

TIP:
ASSERT_EQ(sbmap.get_next_set_extent(0), full_extent)
also works once operator== is defined.

@ljflores
Copy link
Contributor

ljflores commented Apr 4, 2022

http://pulpito.front.sepia.ceph.com/yuriw-2022-04-01_17:44:32-rados-wip-yuri3-testing-2022-04-01-0659-distro-default-smithi/
http://pulpito.front.sepia.ceph.com/yuriw-2022-04-02_01:57:28-rados-wip-yuri3-testing-2022-04-01-0659-distro-default-smithi/
http://pulpito.front.sepia.ceph.com/yuriw-2022-04-02_14:56:39-rados-wip-yuri3-testing-2022-04-01-0659-distro-default-smithi/

Failures, unrelated:
https://tracker.ceph.com/issues/53422
https://tracker.ceph.com/issues/47838
https://tracker.ceph.com/issues/47025
https://tracker.ceph.com/issues/51076
https://tracker.ceph.com/issues/55178

Details:
1. tasks.cephfs.test_nfs.TestNFS.test_export_create_with_non_existing_fsname: AssertionError: NFS Ganesha cluster deployment failed - Ceph - Orchestrator
2. mon/test_mon_osdmap_prune.sh: first_pinned != trim_to - Ceph - RADOS
3. rados/test.sh: api_watch_notify_pp LibRadosWatchNotifyECPP.WatchNotify failed - Ceph - RADOS
4. "wait_for_recovery: failed before timeout expired" during thrashosd test with EC backend. - Ceph - RADOS
5. osd-scrub-test.sh: TEST_scrub_extended_sleep times out - Ceph - RADOS

@neha-ojha neha-ojha merged commit ba0f960 into ceph:master Apr 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants