Actions
Bug #13443
closedCeph-fuse won't start correctly when the option log_max_new in ceph.conf set to zero
Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:
0%
Source:
Community (dev)
Tags:
Backport:
infernalis
Regression:
No
Severity:
2 - major
Reviewed:
Affected Versions:
ceph-qa-suite:
fs
Component(FS):
Labels (FS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
We found a bug in ceph-fuse when we set log_max_new = 0 in ceph.conf, which will lead ceph-fuse process hang when it is started. We set this option, because we want to minimize the memory used by logging subsystem.
After checking the related code, we found something incorrect in main methods within ceph_fuse.cc.
The suspicious code snippet is below:
if (childpid == 0) { common_init_finish(g_ceph_context); //cout << "child, mounting" << std::endl; ::close(fd[0]); if (restart_log) g_ceph_context->_log->start();
The hang event happens when executing common_init_finish(g_ceph_context), and in AdminSocket::init it hits
ldout(m_cct, 5) << "init " << path << dendl;
This will depend on log subsystem working properly. But till then, the Log thread haven't been started in the child process.
So, I think we should start the log thread before the common_init_finish method. As far as I know to fix this issue is to bring g_ceph_context->_log->start(); before common_init_finish(g_ceph_context);
Updated by Wenjun Huang over 8 years ago
I have made a pull request here https://github.com/ceph/ceph/pull/6224
Updated by Nathan Cutler over 8 years ago
- Status changed from New to Fix Under Review
- Source changed from other to Community (dev)
Updated by Sage Weil over 8 years ago
- Status changed from Fix Under Review to Pending Backport
- Backport set to infernalis
Updated by Nathan Cutler over 8 years ago
- Copied to Backport #13593: Ceph-fuse won't start correctly when the option log_max_new in ceph.conf set to zero added
Updated by Loïc Dachary about 8 years ago
- Status changed from Pending Backport to Resolved
Actions