From d5e482a6c2782993e6e9903eb6f11f5ebe260925 Mon Sep 17 00:00:00 2001 From: Venky Shankar Date: Mon, 23 Jul 2018 02:30:47 -0400 Subject: [PATCH] cephfs-journal-tool: pass local arg vector for Journal actions Some helper functions clobber the passed in arg vector. This causes operations on all but the first rank to fail as the operations for the first rank tampers with the arg vector. Signed-off-by: Venky Shankar --- src/tools/cephfs/JournalTool.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/tools/cephfs/JournalTool.cc b/src/tools/cephfs/JournalTool.cc index 0ad770a95eb2..8be2cd85034f 100644 --- a/src/tools/cephfs/JournalTool.cc +++ b/src/tools/cephfs/JournalTool.cc @@ -163,13 +163,14 @@ int JournalTool::main(std::vector &argv) // event mode is only specific for mdlog for (auto role : role_selector.get_roles()) { rank = role.rank; + std::vector rank_argv(argv); dout(4) << "Executing for rank " << rank << dendl; if (mode == std::string("journal")) { - r = main_journal(argv); + r = main_journal(rank_argv); } else if (mode == std::string("header")) { - r = main_header(argv); + r = main_header(rank_argv); } else if (mode == std::string("event")) { - r = main_event(argv); + r = main_event(rank_argv); } else { cerr << "Bad command '" << mode << "'" << std::endl; return -EINVAL; -- 2.47.3