From 68f3fb795e90201aefe53246f6d2c7b5272756a6 Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Tue, 27 Dec 2022 11:09:19 +0300 Subject: [PATCH] Suppress warnings in vitastor-disk purge correctly --- src/cli_rm_osd.cpp | 2 +- src/disk_tool_udev.cpp | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/cli_rm_osd.cpp b/src/cli_rm_osd.cpp index 4dcfb00d..609e535a 100644 --- a/src/cli_rm_osd.cpp +++ b/src/cli_rm_osd.cpp @@ -152,7 +152,7 @@ struct rm_osd_t result.text = error; if (dry_run || is_dataloss && !force_dataloss || is_warning && !force_warning) { - result.err = is_dataloss || is_warning ? EBUSY : 0; + result.err = is_dataloss && !force_dataloss || is_warning && !force_warning ? EBUSY : 0; state = 100; return; } diff --git a/src/disk_tool_udev.cpp b/src/disk_tool_udev.cpp index 354e9344..45034655 100644 --- a/src/disk_tool_udev.cpp +++ b/src/disk_tool_udev.cpp @@ -387,6 +387,14 @@ int disk_tool_t::purge_devices(const std::vector & devices) rm_osd_cli.push_back(std::to_string(osd_num)); } // Check for data loss + if (options["force"] != "") + { + rm_osd_cli.push_back("--force"); + } + else if (options["allow_data_loss"] != "") + { + rm_osd_cli.push_back("--allow-data-loss"); + } rm_osd_cli.push_back("--dry-run"); std::string dry_run_ignore_stdout; if (shell_exec(rm_osd_cli, "", &dry_run_ignore_stdout, NULL) != 0) @@ -405,14 +413,6 @@ int disk_tool_t::purge_devices(const std::vector & devices) } // Remove OSD metadata rm_osd_cli.pop_back(); - if (options["force"] != "") - { - rm_osd_cli.push_back("--force"); - } - else if (options["allow_data_loss"] != "") - { - rm_osd_cli.push_back("--allow-data-loss"); - } if (shell_exec(rm_osd_cli, "", NULL, NULL) != 0) { return 1;