Project

General

Profile

Actions

Bug #13443

closed

Ceph-fuse won't start correctly when the option log_max_new in ceph.conf set to zero

Added by Wenjun Huang over 8 years ago. Updated about 8 years ago.

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);


Related issues 1 (0 open1 closed)

Copied to CephFS - Backport #13593: Ceph-fuse won't start correctly when the option log_max_new in ceph.conf set to zeroResolvedNathan CutlerActions
Actions #1

Updated by Wenjun Huang over 8 years ago

I have made a pull request here https://github.com/ceph/ceph/pull/6224

Actions #2

Updated by Nathan Cutler over 8 years ago

  • Status changed from New to Fix Under Review
  • Source changed from other to Community (dev)
Actions #3

Updated by Sage Weil over 8 years ago

  • Status changed from Fix Under Review to Pending Backport
  • Backport set to infernalis
Actions #4

Updated by Greg Farnum over 8 years ago

  • Project changed from rgw to CephFS
Actions #5

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
Actions #6

Updated by Loïc Dachary about 8 years ago

  • Status changed from Pending Backport to Resolved
Actions

Also available in: Atom PDF