mirror of
https://github.com/ceph/ceph
synced 2025-03-11 02:39:05 +00:00
global: reexpand the conf meta in all the child processes
Especially for the tools or the daemons whose config options need to expand the '$pid', they will be always expanded with the parent processes. We need to reexpand them in child processes just after the fork is done. Fixes: https://tracker.ceph.com/issues/48240 Signed-off-by: Xiubo Li <xiubli@redhat.com>
This commit is contained in:
parent
cf18f7e9cd
commit
73a48dfe8e
@ -1,5 +1,9 @@
|
||||
>=16.0.0
|
||||
--------
|
||||
* $pid expansion in config paths like `admin_socket` will now properly expand
|
||||
to the daemon pid for commands like `ceph-mds` or `ceph-osd`. Previously only
|
||||
`ceph-fuse`/`rbd-nbd` expanded `$pid` with the actual daemon pid.
|
||||
|
||||
* The allowable options for some "radosgw-admin" commands have been changed.
|
||||
|
||||
* "mdlog-list", "datalog-list", "sync-error-list" no longer accepts
|
||||
|
@ -179,9 +179,8 @@ int main(int argc, const char **argv, const char *envp[]) {
|
||||
}
|
||||
|
||||
{
|
||||
g_ceph_context->_conf.finalize_reexpand_meta();
|
||||
common_init_finish(g_ceph_context);
|
||||
|
||||
|
||||
init_async_signal_handler();
|
||||
register_async_signal_handler(SIGHUP, sighup_handler);
|
||||
|
||||
|
@ -515,6 +515,9 @@ int reopen_as_null(CephContext *cct, int fd)
|
||||
|
||||
void global_init_postfork_start(CephContext *cct)
|
||||
{
|
||||
// reexpand the meta in child process
|
||||
cct->_conf.finalize_reexpand_meta();
|
||||
|
||||
// restart log thread
|
||||
cct->_log->start();
|
||||
cct->notify_post_fork();
|
||||
|
@ -1594,7 +1594,6 @@ static int do_map(int argc, const char *argv[], Config *cfg, bool reconnect)
|
||||
global_init_postfork_start(g_ceph_context);
|
||||
}
|
||||
|
||||
g_ceph_context->_conf.finalize_reexpand_meta();
|
||||
common_init_finish(g_ceph_context);
|
||||
global_init_chdir(g_ceph_context);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user