Project

General

Profile

Actions

Bug #63719

open

[test] scribble()-based DiffIterate tests are too weak

Added by Ilya Dryomov 5 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

scribble()-based DiffIterate tests are too weak: at least two regressions that should been caught by DiffIterate.DiffIterate or DiffIterate.DiffIterateStress were missed:

https://tracker.ceph.com/issues/50787
https://tracker.ceph.com/issues/63654

Aside from the randomness which can be both a good and a bad thing, asserts

https://github.com/ceph/ceph/blob/b27938f5f17898fc3da3d5af821957d6aee33501/src/test/librbd/test_librbd.cc#L7475
https://github.com/ceph/ceph/blob/b27938f5f17898fc3da3d5af821957d6aee33501/src/test/librbd/test_librbd.cc#L7648
https://github.com/ceph/ceph/blob/b27938f5f17898fc3da3d5af821957d6aee33501/src/test/librbd/test_librbd.cc#L7821
https://github.com/ceph/ceph/blob/b27938f5f17898fc3da3d5af821957d6aee33501/src/test/librbd/test_librbd.cc#L7902

ensure only that returned diff covers all changes that were made. If returned diff is too excessive or otherwise bogus, this isn't detected -- an implementation that always returns the entire range passed to rbd_diff_iterate2() as "new data" would pass all of these!


Related issues 4 (1 open3 closed)

Related to rbd - Bug #50787: rbd diff between two snapshots lists entire image content with 'whole-object' switchResolvedSunny Kumar

Actions
Related to rbd - Bug #63654: [diff-iterate] ObjectListSnapsRequest's LIST_SNAPS_FLAG_WHOLE_OBJECT behavior is brokenResolvedIlya Dryomov

Actions
Related to rbd - Bug #53897: diff-iterate can report holes when diffing against the beginning of time (fromsnapname == NULL)ResolvedIlya Dryomov

Actions
Related to rbd - Bug #63771: discard at object end can grow the logical size of the objectNew

Actions
Actions #1

Updated by Ilya Dryomov 5 months ago

  • Related to Bug #50787: rbd diff between two snapshots lists entire image content with 'whole-object' switch added
Actions #2

Updated by Ilya Dryomov 5 months ago

  • Related to Bug #63654: [diff-iterate] ObjectListSnapsRequest's LIST_SNAPS_FLAG_WHOLE_OBJECT behavior is broken added
Actions #3

Updated by Ilya Dryomov 5 months ago

  • Related to Bug #53897: diff-iterate can report holes when diffing against the beginning of time (fromsnapname == NULL) added
Actions #4

Updated by Ilya Dryomov 5 months ago

  • Related to Bug #63771: discard at object end can grow the logical size of the object added
Actions

Also available in: Atom PDF