From: Venky Shankar Date: Mon, 23 Jul 2018 06:30:47 +0000 (-0400) Subject: cephfs-journal-tool: pass local arg vector for Journal actions X-Git-Tag: v14.0.1~193^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d5e482a6c2782993e6e9903eb6f11f5ebe260925;p=ceph.git 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 --- 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;