]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: Fix read_main_bdev_label
authorAdam Kupczyk <akupczyk@ibm.com>
Tue, 30 Jan 2024 12:54:26 +0000 (12:54 +0000)
committerPere Diaz Bou <pere-altea@hotmail.com>
Fri, 23 Aug 2024 09:49:24 +0000 (11:49 +0200)
When valid label with new epoch is found,
all that we have marked as good before are released.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit c4f212ee1fc331c8de8949999c6a56948617d43e)

src/os/bluestore/BlueStore.cc

index e00aedc1f7172b63ddd3f38935138ae1df2d5b5c..eda144b56925c1c00d9e0b70ac596351eed2f0b4 100644 (file)
@@ -6678,9 +6678,13 @@ int BlueStore::_read_main_bdev_label(
             *out_is_multi = true;
           }
           if(out_valid_positions) {
-            out_valid_positions->push_back(position);
+            // clear out old versions
+            out_valid_positions->clear();
           }
         }
+        if(v == epoch && out_valid_positions) {
+          out_valid_positions->push_back(position);
+        }
       }
     } else if (r == 1) {
       // tried to read but no disk