Skip to content

Commit 7dd8e5a

Browse files
authored
Merge pull request ceph#57261 from tchaikov/test_bluefs-fix-asan
test/objectstore/test_bluefs: fix heap-use-after-free Reviewed-by: Igor Fedotov <[email protected]>
2 parents 4a015bc + aaa9607 commit 7dd8e5a

File tree

1 file changed

+27
-15
lines changed

1 file changed

+27
-15
lines changed

src/test/objectstore/test_bluefs.cc

Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1256,14 +1256,20 @@ TEST(BlueFS, test_shared_alloc_sparse) {
12561256
}
12571257
}
12581258
fs.compact_log();
1259-
auto *logger = fs.get_perf_counters();
1260-
ASSERT_NE(logger->get(l_bluefs_alloc_shared_size_fallbacks), 0);
1261-
auto num_files = logger->get(l_bluefs_num_files);
1262-
fs.umount();
12631259

1264-
fs.mount();
1265-
ASSERT_EQ(num_files, logger->get(l_bluefs_num_files));
1266-
fs.umount();
1260+
uint64_t num_files = 0;
1261+
{
1262+
auto *logger = fs.get_perf_counters();
1263+
ASSERT_NE(logger->get(l_bluefs_alloc_shared_size_fallbacks), 0);
1264+
num_files = logger->get(l_bluefs_num_files);
1265+
fs.umount();
1266+
}
1267+
{
1268+
fs.mount();
1269+
auto *logger = fs.get_perf_counters();
1270+
ASSERT_EQ(num_files, logger->get(l_bluefs_num_files));
1271+
fs.umount();
1272+
}
12671273
}
12681274

12691275
TEST(BlueFS, test_4k_shared_alloc) {
@@ -1326,15 +1332,21 @@ TEST(BlueFS, test_4k_shared_alloc) {
13261332
}
13271333
}
13281334
fs.compact_log();
1329-
auto *logger = fs.get_perf_counters();
1330-
ASSERT_EQ(logger->get(l_bluefs_alloc_shared_dev_fallbacks), 0);
1331-
ASSERT_EQ(logger->get(l_bluefs_alloc_shared_size_fallbacks), 0);
1332-
auto num_files = logger->get(l_bluefs_num_files);
1333-
fs.umount();
13341335

1335-
fs.mount();
1336-
ASSERT_EQ(num_files, logger->get(l_bluefs_num_files));
1337-
fs.umount();
1336+
uint64_t num_files = 0;
1337+
{
1338+
auto *logger = fs.get_perf_counters();
1339+
ASSERT_EQ(logger->get(l_bluefs_alloc_shared_dev_fallbacks), 0);
1340+
ASSERT_EQ(logger->get(l_bluefs_alloc_shared_size_fallbacks), 0);
1341+
num_files = logger->get(l_bluefs_num_files);
1342+
fs.umount();
1343+
}
1344+
{
1345+
fs.mount();
1346+
auto *logger = fs.get_perf_counters();
1347+
ASSERT_EQ(num_files, logger->get(l_bluefs_num_files));
1348+
fs.umount();
1349+
}
13381350
}
13391351

13401352
void create_files(BlueFS &fs,

0 commit comments

Comments
 (0)