mds compat show
-::
-
- mds setmap
-
::
mds getmap
| **ceph** **log** *<logtext>* [ *<logtext>*... ]
-| **ceph** **mds** [ *add_data_pool* \| *cluster_down* \| *cluster_up* \| *compat* \| *deactivate* \| *dump* \| *fail* \| *getmap* \| *newfs* \| *remove_data_pool* \| *rm* \| *rmfailed* \| *set* \| *set_max_mds* \| *set_state* \| *setmap* \| *stat* \| *stop* \| *tell* ] ...
+| **ceph** **mds** [ *add_data_pool* \| *cluster_down* \| *cluster_up* \| *compat* \| *deactivate* \| *dump* \| *fail* \| *getmap* \| *newfs* \| *remove_data_pool* \| *rm* \| *rmfailed* \| *set* \| *set_max_mds* \| *set_state* \| *stat* \| *stop* \| *tell* ] ...
| **ceph** **mon** [ *add* \| *dump* \| *getmap* \| *remove* \| *stat* ] ...
ceph mds set_state <int[0-]> <int[0-20]>
-Subcommand ``setmap`` sets mds map; must supply correct epoch number.
-
-Usage::
-
- ceph mds setmap <int[0-]>
-
Subcommand ``stat`` shows MDS status.
Usage::
info->state = MDSMap::STATE_STOPPING;
});
}
- } else if (prefix == "mds setmap") {
- string confirm;
- if (!cmd_getval(g_ceph_context, cmdmap, "confirm", confirm) ||
- confirm != "--yes-i-really-mean-it") {
- ss << "WARNING: this can make your filesystem inaccessible! "
- "Add --yes-i-really-mean-it if you are sure you wish to continue.";
- return -EINVAL;;
- }
-
- FSMap map;
- try {
- map.decode(m->get_data());
- } catch(buffer::error &e) {
- ss << "invalid mdsmap";
- return -EINVAL;
- }
- epoch_t e = 0;
- int64_t epochnum;
- if (cmd_getval(g_ceph_context, cmdmap, "epoch", epochnum))
- e = epochnum;
-
- if (pending_fsmap.epoch == e) {
- map.epoch = pending_fsmap.epoch; // make sure epoch is correct
- pending_fsmap = map;
- ss << "set mds map";
- } else {
- ss << "next fsmap epoch " << pending_fsmap.epoch << " != " << e;
- return -EINVAL;
- }
} else if (prefix == "mds set_state") {
mds_gid_t gid;
if (!cmd_getval(g_ceph_context, cmdmap, "gid", gid)) {
"name=val,type=CephString " \
"name=confirm,type=CephString,req=false", \
"set mds parameter <var> to <val>", "mds", "rw", "cli,rest")
-COMMAND("mds setmap " \
- "name=epoch,type=CephInt,range=0 " \
- "name=confirm,type=CephString,req=false",
- "set mds map; must supply correct epoch number", "mds", "rw", "cli,rest")
// arbitrary limit 0-20 below; worth standing on head to make it
// relate to actual state definitions?
// #include "include/ceph_fs.h"
def test_set_max_mds(self):
self.check_1_natural_arg('mds', 'set_max_mds')
- def test_setmap(self):
- self.assert_valid_command(['mds', 'setmap', '1'])
- self.assert_valid_command(['mds', 'setmap', '1', '--yes-i-really-mean-it'])
- assert_equal({}, validate_command(sigdict, ['mds', 'setmap',
- '--yes-i-really-mean-it']))
- assert_equal({}, validate_command(sigdict, ['mds', 'setmap', '-1',
- '--yes-i-really-mean-it']))
- assert_equal({}, validate_command(sigdict, ['mds', 'setmap', '1',
- '--yes-i-really-mean-it',
- 'toomany']))
-
def test_set_state(self):
self.assert_valid_command(['mds', 'set_state', '1', '2'])
assert_equal({}, validate_command(sigdict, ['mds', 'set_state']))