]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
cls/rbd: GroupSnapshotNamespace comparator violates ordering rules 45021/head
authorIlya Dryomov <idryomov@gmail.com>
Mon, 14 Feb 2022 12:04:00 +0000 (13:04 +0100)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 14 Feb 2022 12:31:54 +0000 (13:31 +0100)
commit830e72ab9d66c8f5703ea27da5249b02dd16ccd0
tree8b84f7cc089652385490f539430f3d8b3761e02d
parent481093b7f6d23f6121fefc59b2ddc68b5fd2d953
cls/rbd: GroupSnapshotNamespace comparator violates ordering rules

For

  GroupSnapshotNamespace a(1, "group-1", "snap-2");
  GroupSnapshotNamespace b(1, "group-2", "snap-1");

both a < b and b < a evaluate to true.  This violates STL strict weak
ordering requirements which is a problem because GroupSnapshotNamespace
is used as a key in std::map (ictx->snap_ids at least), etc.

Fixes: https://tracker.ceph.com/issues/49792
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
src/cls/rbd/cls_rbd_types.h