mirror of
https://github.com/ceph/ceph
synced 2025-02-23 11:07:35 +00:00
Merge PR #26096 into master
* refs/pull/26096/head: mds: remove cache drop asok command Reviewed-by: Venky Shankar <vshankar@redhat.com>
This commit is contained in:
commit
a823134c4d
@ -264,6 +264,8 @@
|
|||||||
system. This is a single command that unsets the joinable flag on the file
|
system. This is a single command that unsets the joinable flag on the file
|
||||||
system and brings down all of its ranks.
|
system and brings down all of its ranks.
|
||||||
|
|
||||||
|
* The `cache drop` admin socket command has been removed. The `ceph tell mds.X
|
||||||
|
cache drop` remains.
|
||||||
|
|
||||||
Upgrading from Luminous
|
Upgrading from Luminous
|
||||||
-----------------------
|
-----------------------
|
||||||
|
@ -225,18 +225,15 @@ class TestMisc(CephFSTestCase):
|
|||||||
info = self.fs.mds_asok(['dump', 'inode', hex(ino)])
|
info = self.fs.mds_asok(['dump', 'inode', hex(ino)])
|
||||||
assert info['path'] == "/foo"
|
assert info['path'] == "/foo"
|
||||||
|
|
||||||
def _run_drop_cache_cmd(self, timeout, use_tell):
|
def _run_drop_cache_cmd(self, timeout):
|
||||||
drop_res = None
|
drop_res = None
|
||||||
if use_tell:
|
mds_id = self.fs.get_lone_mds_id()
|
||||||
mds_id = self.fs.get_lone_mds_id()
|
drop_res = json.loads(
|
||||||
drop_res = json.loads(
|
self.fs.mon_manager.raw_cluster_cmd("tell", "mds.{0}".format(mds_id),
|
||||||
self.fs.mon_manager.raw_cluster_cmd("tell", "mds.{0}".format(mds_id),
|
"cache", "drop", str(timeout)))
|
||||||
"cache", "drop", str(timeout)))
|
|
||||||
else:
|
|
||||||
drop_res = self.fs.mds_asok(["cache", "drop", str(timeout)])
|
|
||||||
return drop_res
|
return drop_res
|
||||||
|
|
||||||
def _drop_cache_command(self, timeout, use_tell=True):
|
def _drop_cache_command(self, timeout):
|
||||||
self.mount_b.umount_wait()
|
self.mount_b.umount_wait()
|
||||||
ls_data = self.fs.mds_asok(['session', 'ls'])
|
ls_data = self.fs.mds_asok(['session', 'ls'])
|
||||||
self.assert_session_count(1, ls_data)
|
self.assert_session_count(1, ls_data)
|
||||||
@ -244,12 +241,12 @@ class TestMisc(CephFSTestCase):
|
|||||||
# create some files
|
# create some files
|
||||||
self.mount_a.create_n_files("dc-dir/dc-file", 1000)
|
self.mount_a.create_n_files("dc-dir/dc-file", 1000)
|
||||||
# drop cache
|
# drop cache
|
||||||
drop_res = self._run_drop_cache_cmd(timeout, use_tell)
|
drop_res = self._run_drop_cache_cmd(timeout)
|
||||||
|
|
||||||
self.assertTrue(drop_res['client_recall']['return_code'] == 0)
|
self.assertTrue(drop_res['client_recall']['return_code'] == 0)
|
||||||
self.assertTrue(drop_res['flush_journal']['return_code'] == 0)
|
self.assertTrue(drop_res['flush_journal']['return_code'] == 0)
|
||||||
|
|
||||||
def _drop_cache_command_timeout(self, timeout, use_tell=True):
|
def _drop_cache_command_timeout(self, timeout):
|
||||||
self.mount_b.umount_wait()
|
self.mount_b.umount_wait()
|
||||||
ls_data = self.fs.mds_asok(['session', 'ls'])
|
ls_data = self.fs.mds_asok(['session', 'ls'])
|
||||||
self.assert_session_count(1, ls_data)
|
self.assert_session_count(1, ls_data)
|
||||||
@ -259,7 +256,7 @@ class TestMisc(CephFSTestCase):
|
|||||||
|
|
||||||
# simulate client death and try drop cache
|
# simulate client death and try drop cache
|
||||||
self.mount_a.kill()
|
self.mount_a.kill()
|
||||||
drop_res = self._run_drop_cache_cmd(timeout, use_tell)
|
drop_res = self._run_drop_cache_cmd(timeout)
|
||||||
|
|
||||||
self.assertTrue(drop_res['client_recall']['return_code'] == -errno.ETIMEDOUT)
|
self.assertTrue(drop_res['client_recall']['return_code'] == -errno.ETIMEDOUT)
|
||||||
self.assertTrue(drop_res['flush_journal']['return_code'] == 0)
|
self.assertTrue(drop_res['flush_journal']['return_code'] == 0)
|
||||||
@ -268,28 +265,14 @@ class TestMisc(CephFSTestCase):
|
|||||||
self.mount_a.mount()
|
self.mount_a.mount()
|
||||||
self.mount_a.wait_until_mounted()
|
self.mount_a.wait_until_mounted()
|
||||||
|
|
||||||
def test_drop_cache_command_asok(self):
|
def test_drop_cache_command(self):
|
||||||
"""
|
|
||||||
Basic test for checking drop cache command using admin socket.
|
|
||||||
Note that the cache size post trimming is not checked here.
|
|
||||||
"""
|
|
||||||
self._drop_cache_command(10, use_tell=False)
|
|
||||||
|
|
||||||
def test_drop_cache_command_tell(self):
|
|
||||||
"""
|
"""
|
||||||
Basic test for checking drop cache command using tell interface.
|
Basic test for checking drop cache command using tell interface.
|
||||||
Note that the cache size post trimming is not checked here.
|
Note that the cache size post trimming is not checked here.
|
||||||
"""
|
"""
|
||||||
self._drop_cache_command(10)
|
self._drop_cache_command(10)
|
||||||
|
|
||||||
def test_drop_cache_command_timeout_asok(self):
|
def test_drop_cache_command_timeout(self):
|
||||||
"""
|
|
||||||
Check drop cache command with non-responding client using admin
|
|
||||||
socket. Note that the cache size post trimming is not checked here.
|
|
||||||
"""
|
|
||||||
self._drop_cache_command_timeout(5, use_tell=False)
|
|
||||||
|
|
||||||
def test_drop_cache_command_timeout_tell(self):
|
|
||||||
"""
|
"""
|
||||||
Check drop cache command with non-responding client using tell
|
Check drop cache command with non-responding client using tell
|
||||||
interface. Note that the cache size post trimming is not checked
|
interface. Note that the cache size post trimming is not checked
|
||||||
|
@ -260,11 +260,6 @@ void MDSDaemon::set_up_admin_socket()
|
|||||||
asok_hook,
|
asok_hook,
|
||||||
"show cache status");
|
"show cache status");
|
||||||
ceph_assert(r == 0);
|
ceph_assert(r == 0);
|
||||||
r = admin_socket->register_command("cache drop",
|
|
||||||
"cache drop name=timeout,type=CephInt,range=0,req=false",
|
|
||||||
asok_hook,
|
|
||||||
"drop cache");
|
|
||||||
ceph_assert(r == 0);
|
|
||||||
r = admin_socket->register_command("dump tree",
|
r = admin_socket->register_command("dump tree",
|
||||||
"dump tree "
|
"dump tree "
|
||||||
"name=root,type=CephString,req=true "
|
"name=root,type=CephString,req=true "
|
||||||
|
@ -2517,18 +2517,6 @@ bool MDSRankDispatcher::handle_asok_command(std::string_view command,
|
|||||||
} else if (command == "cache status") {
|
} else if (command == "cache status") {
|
||||||
std::lock_guard l(mds_lock);
|
std::lock_guard l(mds_lock);
|
||||||
mdcache->cache_status(f);
|
mdcache->cache_status(f);
|
||||||
} else if (command == "cache drop") {
|
|
||||||
int64_t timeout;
|
|
||||||
if (!cmd_getval(g_ceph_context, cmdmap, "timeout", timeout)) {
|
|
||||||
timeout = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
C_SaferCond cond;
|
|
||||||
command_cache_drop((uint64_t)timeout, f, &cond);
|
|
||||||
int r = cond.wait();
|
|
||||||
if (r != 0) {
|
|
||||||
f->flush(ss);
|
|
||||||
}
|
|
||||||
} else if (command == "dump tree") {
|
} else if (command == "dump tree") {
|
||||||
command_dump_tree(cmdmap, ss, f);
|
command_dump_tree(cmdmap, ss, f);
|
||||||
} else if (command == "dump loads") {
|
} else if (command == "dump loads") {
|
||||||
|
Loading…
Reference in New Issue
Block a user